В SQLite те вече работят върху HCTree бекенд с поддръжка за паралелни записи

SQLite

е ACID-съвместима система за управление на релационни бази данни, съдържаща се в относително малка библиотека, написана на C

Разработчиците на проекта SQLite започна да тества експериментален бекенд на HCtree който поддържа заключване на ниво ред и осигурява високо ниво на паралелизъм при обработката на заявки.

По отношение на новия бекенд, в който работят, се споменава, че това има за цел да подобри ефективността на използването на SQLite в клиент-сървър системи Те трябва да обработват голям брой едновременни заявки за запис в базата данни.

на b-дървовидни структури, използвани първоначално в SQLite за съхраняване на данни Те не са предназначени за такъв тип натоварване., което ограничава SQLite до писане само в един поток. Като експеримент разработчиците започнаха да разработват алтернативно решение, което използва HCtree структури за съхранение, по-подходящи за паралелизиране на операции за запис.

Проектът HC-tree (hctree) е опит за разработване на нов бекенд на база данни, който подобрява обикновения SQLite, както следва:

Подобрена паралелност: Използването на разширението begin-concurrent променя това, така че да може да се изпълнява едновременно с помощта на оптимистично заключване на ниво страница. Това донякъде подобрява едновременността, но заключването на ниво страница може да открие конфликти между логически независими транзакции и операциите COMMIT все още трябва да бъдат сериализирани.

Поддръжка на репликация: Stock SQLite поддържа удължаване на сесията, което позволява съдържанието на ангажирана транзакция да бъде сериализирано за предаване и прилагане към втора база данни. Hctree интегрира това в бекенда на базата данни и добавя поддръжка за прилагане на такива транзакции към бази данни на последователи в конфигурации лидер-последовател. В този случай транзакциите, получени от водеща база данни, могат да бъдат приложени по-бързо и с по-голяма едновременност от тези, първоначално приложени към водещата база данни, тъй като не валидиране на транзакцията.

Премахване на ограниченията за размера на базата данни: Stock SQLite използва 32-битови номера на страници. Използвайки размера на страницата по подразбиране от 4 KiB, това води до максимален размер на базата данни от 2^44 байта или 16 TiB.

За да се справите с няколко операции едновременно, Регистрационните файлове на HCtree използват механизъм за разделяне на транзакциите който използва ключалки на ниво страница, подобно на MVCC (контрол за ограничаване на множество версии), но използва контроли за транзакции, базирани на ключови диапазони и ключови диапазони вместо набори от страници.

Операциите за четене и запис се извършват спрямо моментната снимка на базата данни, чиито промени стават видими за основната база данни само след приключване на транзакцията.

Клиентите могат да използват три операции за отваряне на транзакции:

  • «ЗАПОЧНЕТЕ«: Транзакциите не вземат предвид данните за достъп на други клиенти. Ако се извършват операции за запис в транзакция, транзакцията може да бъде ангажирана само ако не е имало други операции за запис в базата данни по време на нейното изпълнение.
    «ЗАПОЧНЕТЕ ЕДНОВРЕМЕННО«: Транзакциите събират информация за достъпа на други клиенти. Ако се изпълняват операции за запис в транзакция, транзакцията може да бъде ангажирана, ако други транзакции са били ангажирани към базата данни след създаването на моментната снимка.
    «ЗАПОЧНЕТЕ ЕКСКЛУЗИВНО«: след отваряне на транзакция, блокира операциите на други транзакции, докато не бъде завършена.

HCtree поддържа репликация master-slave, която ви позволява да прехвърляте транзакции към друга база данни и да поддържате вторичните бази данни в синхрон с основната база данни.

HCtree също премахва ограничението за размера на базата данни: вместо 32-битови идентификатори на страници с данни, HCtree използва 48-битови идентификатори, което увеличава максималния размер на базата данни от 16 тебибайта на 1 ексбибайт (милион тебибайта).

Производителността на SQLite с бекенда на HCtree се очаква да бъде поне толкова добра, колкото класическия бекенд с една нишка. Клиентите на SQLite с поддръжка на HCtree ще имат достъп както до базите данни на HC-дървото, така и към наследените бази данни SQLite.

Fuente: https://sqlite.org/


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.