пятница, 29 июля 2011 г.

О LevelDB и SQLite


Новость:
Компания Google открыла исходные тексты БД LevelDB

Кратко о LevelDB - хранилище ключ-значение, однопоточный доступ, нет гарантий целостности всех данных, в памяти держит копию всех данных лог-файлов.

Утилита для тестирования SQLite у них кривая, мои патчи к ней брать тут

Результаты тестирования с патчем для использования целочисленного Primary Key смотреть здесь

Как видим, LevelDB на тестах показывает местами так себе преимущество относительно реляционной транзакционной СУБД... а местами ухитряется быть еще и медленнее :) Неплохо бы сравнить с CDB от DJB с патчем, убирающем ограничение на "константность". В любом случае, по проведенным тестам нет смысла в использовании LevelDB - функционал урезан сильно, а заметного выигрыша в производительности не видно.

Равно есть куда улучшать и SQLite - некоторые результаты плохи на фоне остальных тестов. Значит, у нас многое еще впереди.

2 комментария:

gene комментирует...

Вряд ли можно было ожидать, что внутренняя специфическая разработка (которую может на ARM вообще ставили) вдруг станет работать быстрее, чем годами оттачиваемый продукт с огромным числом пользователей.

Печников Алексей комментирует...

gene, все дело в том, что levelDB позиционируется примерно как "выкиньте все ваши SQL СУБД, мы круче неизмеримо". Мягко говоря, это не так. Впрочем, в рассылке SQLite обсуждались и мои патчи, в присутствии разработчиков levelDB. Кстати, SQLite есть куда улучшать... и дело вовсе не в "медленном" SQL-уровне.


(C) Alexey Pechnikov aka MBG, mobigroup.ru