Dqlite 1.0, версияи паҳншудаи SQLite аз Canonical дастрас аст

Каноникӣ нашр шудааст барориши лоиҳаи муҳим Dqlite 1.0 (Distributed SQLite), ки як муҳаррики SQL-и дарунсохтаи бо SQLite мувофиқро таҳия мекунад, ки нусхабардории маълумот, барқарорсозии худкор аз нокомиҳо ва таҳаммулпазирии хатогиҳоро тавассути паҳн кардани коркардкунандагон дар байни гиреҳҳои сершумор дастгирӣ мекунад. DBMS дар шакли китобхонаи C, ки ба замимаҳо ва барномаҳо замима шудааст, амалӣ карда мешавад паҳн мекунад дар доираи иҷозатномаи Apache 2.0 (асл SQLite дар домени ҷамъиятӣ пешниҳод карда мешавад). Пайвасткунии забонҳо дастрас аст Go.

Китобхона як изофаи базаи коди мавҷудаи SQLite мебошад, ки дастгирии протоколи шабакаро барои пайваст кардани якчанд мисолҳои барномае, ки дар ҳостҳои гуногун кор мекунад, илова мекунад. Замимае, ки бо Dqlite тартиб дода шудааст, метавонад ҳамчун кластери худкифои ба хатогиҳо тобовар, новобаста аз DBMS-ҳои беруна амал кунад. Дар амал, Dqlite аз ҷониби Canonical дар системаи идоракунии контейнерҳои худ истифода мешавад LXD. Дар байни самтҳои татбиқи китобхона, эҷоди дастгоҳҳо ва протсессори ба хатогиҳои интернетии ашёҳо дар системаҳо низ зикр шудааст.
Edge- ҳисобҳо.

Барои таъмини мувофиқат дар такрори додаҳо, усули консенсус дар асоси алгоритм истифода мешавад Рафт, ки дар лоиҳаҳо ба монанди etcd, RethinkDB, CockroachDB ва OpenDaylight истифода мешавад. Dqlite татбиқи асинхронии худро истифода мебарад C-рафт, бо забони C навишта шудааст. Китобхонаҳои тайёр барои мултиплекс коркарди пайвастшавӣ ва ташкили оғози корутинҳо истифода мешаванд лиув и libco.

Дар муқоиса бо як лоиҳаи монанд rqlite,Dqlite дастгирии мукаммали транзаксиониро таъмин мекунад, метавонад бо ҳама гуна лоиҳаи C муошират кунад, ба истифодаи функсияи time() имкон медиҳад ва ,ба ҷои репликатсияи бар асоси SQL тарҷумаи асосиро истифода мебарад.

Хусусиятҳои Dqlite:

  • Ҳама амалиётҳои диск ва шабакаро ба таври асинхронӣ иҷро кунед;
  • Мавҷудияти маҷмӯи санҷишҳо барои тасдиқи дурустии маълумот;
  • Истеъмоли ками хотира ва мубодилаи самараноки маълумот тавассути шабака;
  • Нигоҳдории доимии пойгоҳи додаҳо ва сабти транзаксияҳо дар диск (бо имкони кэш дар хотира);
  • Барқарорсозии зуд аз нокомиҳо;
  • Мизоҷи устувори CLI бо забони Go, ки метавонад барои оғоз кардани пойгоҳи додаҳо, танзими репликатсия ва пайваст/канор кардани гиреҳҳо истифода шавад;
  • Меъмории ARM, X86, POWER ва IBM Z -ро дастгирӣ мекунад;
  • Татбиқи алгоритми Raft барои кам кардани таъхирҳо ҳангоми анҷом додани транзаксия оптимизатсия карда шудааст.

Манбаъ: opennet.ru

Илова Эзоҳ