Разработчики SQLite развивают бэкенд HC-tree с поддержкой параллельных операций записи
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Разработчики проекта SQLite начали тестирование экспериментального бэкенда HCtree, поддерживающего блокировку на уровне строк (row) и обеспечивающего высокий уровень распараллеливания при обработке запросов. Новый бэкенд нацелен на повышение эффективности использования SQLite в клиент-серверных системах, в которых приходится обрабатывать большое число одновременных запросов к БД на запись.
Структуры b-tree, изначально применяемые в SQLite для хранения данных, не рассчитаны на подобный вид нагрузки, что ограничивает SQLite возможностью записи только в один поток. В качестве эксперимента разработчики стали развивать альтернативное решение, использующее для хранения структуры HC-tree, более подходящие для распараллеливания операций записи.
Для организации одновременного выполнения нескольких операций в HCtree записи применяется механизм разделения транзакций, использующий блокировки на уровне страниц и похожий на MVCC (многоверсионное управление конкурентным доступом), но использующий проверки транзакций на основе ключей и диапазонов ключей вместо наборов страниц. Операции чтения и записи выполняются в привязке к снапшоту БД, изменение которого становятся видимы в основной БД только после завершения транзакции.
Клиенты могут использовать три операции открытия транзакций:
- "BEGIN" - транзакции не учитывают данные о доступе других клиентов. В случае выполнения внутри транзакции операций записи транзакция может быть зафиксирована только если за время её совершения не было других операций записи в БД.
- "BEGIN CONCURRENT" - транзакции собирают сведения о доступе других клиентов. В случае выполнения внутри транзакции операций записи транзакция может быть зафиксирована если с момента создания снапшота в БД были зафиксированы другие транзакции.
- "BEGIN EXCLUSIVE" - после открытия транзакции блокирует операции из других транзакций до своего завершения.
HCtree поддерживает репликацию в стиле "master-slave", позволяющую переносить транзакции в другую БД и поддерживать вторичные БД в состоянии, синхронизированном с основной БД. HCtree также снимает ограничение на размер БД - вместо 32-разрядных идентификаторов страниц данных в HCtree применяются 48 разрядные, что повышает максимальный размер БД с 16 тебибайт до 1 эксбибайт (миллион тебибайт). Ожидается, что производительность SQLite с бэкендом HCtree будет не ниже классического однопоточного бэкенда.
Клиенты SQLite с поддержкой HCtree смогут обращаться как к БД на базе структуры HC-tree, так и к старым БД SQLite.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://sqlite.org/forum/forum...)
- OpenNews: Выпуск СУБД SQLite 3.40
- OpenNews: Опубликован DuckDB 0.6.0, вариант SQLite для аналитических запросов
- OpenNews: В SQLite добавлена поддержка WASM для использования СУБД в web-браузере
- OpenNews: Проект libSQL начал развитие форка СУБД SQLite
- OpenNews: Опубликован проект Litestream, реализующий систему репликации для SQLite
Похожие новости:
- Выпуск СУБД SQLite 3.40
- Опубликован DuckDB 0.6.0, вариант SQLite для аналитических запросов
- В SQLite добавлена поддержка WASM для использования СУБД в web-браузере
- Проект libSQL начал развитие форка СУБД SQLite
- Выпуск СУБД SQLite 3.39
- Представлен Litestream с реализацией системы репликации для SQLite
- Выпуск СУБД SQLite 3.38 и набора утилит sqlite-utils 3.24
- Выпуск rqlite 7.0, распределённой отказоустойчивой СУБД на основе SQLite
- Выпуск СУБД SQLite 3.37
- [Разработка мобильных приложений, Разработка под Android, SQLite] Использование Android App Search для full-text поиска данных в android-приложениях
Теги для поиска: #_sqlite, #_hctree
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:02
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Разработчики проекта SQLite начали тестирование экспериментального бэкенда HCtree, поддерживающего блокировку на уровне строк (row) и обеспечивающего высокий уровень распараллеливания при обработке запросов. Новый бэкенд нацелен на повышение эффективности использования SQLite в клиент-серверных системах, в которых приходится обрабатывать большое число одновременных запросов к БД на запись. Структуры b-tree, изначально применяемые в SQLite для хранения данных, не рассчитаны на подобный вид нагрузки, что ограничивает SQLite возможностью записи только в один поток. В качестве эксперимента разработчики стали развивать альтернативное решение, использующее для хранения структуры HC-tree, более подходящие для распараллеливания операций записи. Для организации одновременного выполнения нескольких операций в HCtree записи применяется механизм разделения транзакций, использующий блокировки на уровне страниц и похожий на MVCC (многоверсионное управление конкурентным доступом), но использующий проверки транзакций на основе ключей и диапазонов ключей вместо наборов страниц. Операции чтения и записи выполняются в привязке к снапшоту БД, изменение которого становятся видимы в основной БД только после завершения транзакции. Клиенты могут использовать три операции открытия транзакций:
Клиенты SQLite с поддержкой HCtree смогут обращаться как к БД на базе структуры HC-tree, так и к старым БД SQLite. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:02
Часовой пояс: UTC + 5