|
cdb - constant databases. |
[+] [обсудить] |
| Простая и производительная библиотека для создания простых баз данных (ключ=>значение). Автор D. J. Bernstein (qmail, djbdns).
По скорости чтения и записи данных значительно опережает NDBM, SDBM, GDBM, QDBM и Berkeley DB. Имеется защита от повреждения базы в случае краха системы. Присутствуют интерфейсы для Си, Python, Ruby, Java и Perl (CDB_File). |
|
|
|
|
sqlite3-rdiff - signature-based row differences for SQLite3 databases |
[+] [обсудить] |
| Утилита, предназначенная для организации репликации данных между несколькими БД SQLite. Утилита поддерживает три базовые операции:
- Формирование файла хэш-сигнатур, отражающих текущее состояние всех записей БД.
- Генерацию delta-патча на основе сравнения текущего состояния базы с состоянием отраженным в файле сигнатур.
- Обновление данных в БД на основе заданного delta-патча:
Сигнатуры вычисляются с использованием хэш-функции MurmurHash для всех данных одной строки или группы строк базы. Размер файла сигнатур занимает около 10% от размера исходной базы, но имеется возможность вычисления и проверки сигнатур сразу для нескольких строк, что позволяет значительно сократить размер файла сигнатур за счет увеличения размера delta-патча. Примечательно, что при генерации одной сигнатуры для N-строк, размер файла с сигнатурами уменьшается в N раз. Группировку предпочтительно использовать для баз большого размера, данные в которых изменяются не часто.
Пример по доведению необновленной версии slave.db до актуальной БД master.db:
sqlite3-rdiff --rows-per-hash 16 signature slave.db slave.db.sign
sqlite3-rdiff delta slave.db.sign master.db slave.db.delta
sqlite3-rdiff patch slave.db slave.db.delta slave.db
В итоге, для slave.db размером 1.5 Гб будет сгенерирован патч slave.db.delta размером 4.3 Мб и файл сигнатур slave.db.signature размером 13 Мб. В данный пример (--rows-per-hash 16) сигнатура создается для 16 строк таблицы, если формировать сигнатуру для каждой строки, то итоговые файлы будут следующего размера: slave.db.delta - 3.4 Мб, slave.db.signature - 160 Мб. |
|
|
|
|
|
|
CouchDB - document-oriented database |
[+] [обсудить] |
| Распределенная, документ-ориентированная база данных, относящаяся к классу NoSQL-систем. Запросы к CouchDB и индексация данных могут выполняться в соответствии с парадигмой MapReduce, используя для формирования логики выборки данных язык JavaScript. Доступ к БД производится при помощи протокола HTTP с использованием RESTful JSON API. В качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Для организации псевдо-структурированного набора данных из произвольных документов (агрегирования и формирования выборок) применяется концепция формирования представлений (view), для определения которых используется язык JavaScript. На JavaScript также можно определять функции для проверки корректности данных при добавлении в рамках определенного представления новых документов.
CouchDB хранит данные в формате упорядоченного списка и позволяет производить частичную репликацию данных между несколькими БД в режиме «мастер-мастер» с одновременным обнаружением и разрешением конфликтных ситуаций. Каждый сервер хранит свой локальный набор данных, синхронизированный с другими серверами, которые могут переводиться в offline-режим и периодически реплицировать изменения. В частности, данная возможность делает CouchDB привлекательным решением для организации синхронизации настроек программ между разными компьютерами, что уже используется для синхронизации содержимого адресной книги ПК c мобильным телефоном через сервис Ubuntu One.
Ядро системы написано на языке Erlang, оптимизированного для создания обслуживающих множество параллельных запросов распределенных систем. View-сервер написан на языке Си и базируется на JavaScript-движке Mozilla Spidermonkey. Исходные тексты проекта распространяются под лицензией Apache 2. |
|
|
|
|
redis - persistent key-value database |
[+] [обсудить] |
| Представлен проект Redis, который продолжает идеи таких проектов, как memcached и memcachedb, и является серверным хранилищем данных вида ключ/значение. Для обеспечения максимальной производительности Redis во время работы хранит все данные в оперативной памяти, периодически сохраняя снимки базы на диск. Архитектура приложения - однопроцессная, основанная на обработке событий, что позволяет избежать блокировок.
По сравнению с memcached, Redis позволяет использовать в качестве значений не только строки, но и списки, множества. Механизмы транзакций отсутствуют, что компенсируется богатым набором атомарных команд: инкремент/декремент, стандартные операции над списками и множествами, переименование ключей, множественная выборка и т.д.
Redis может оказаться хорошим выбором для высоконагруженных сервисов, так как адаптирован под максимальную производительность и поддерживает репликацию, а клиентские библиотеки доступны для большинства популярных языков: Perl, Python, Java, Ruby, Tcl и других. Заявленные значения производительности составляют 110000 операций записи или 81000 операций выборки в секунду на процессоре Xeon X3320 2.5 ГГц под управлением Linux 2.6. Еще одним преимуществом можно считать либеральную лицензию BSD. |
|
|
|
|
Mycached - memcached protocol support for MySQL |
[+] [обсудить] |
| В рамках проекта Mycached реализована поддержка протокола memcached для обращения к MySQL базам, т.е. дает возможность обратиться к существующей MySQL базе не через SQL запрос, а через протокол memcached. Проект выступает своего рода противоположностью memcached хранилища к MySQL, позволяющему обращаться к внешнему mymcached серверу через стандартные SQL команды.
По задумке авторов Mycached, прямой запрос ключей из хранилища, позволит оптимизировать скорость выполнения запросов, благодаря пропуску шагов по парсингу SQL и планированию выполнения запроса. При предварительном тестировании, в простейших запросах, обращение по протоколу memcached оказалось в два раза быстрее, чем выполнение стандартных SQL запросов, обеспечив при этом значительное опережение в плане организации параллельных запросов к базе. Mycached позволяет комбинировать гибкость MySQL с высокой производительностью решений подобных MemcacheDB (модифицированная версия memcached с сохранением кэша на диск в Berkeley DB базе).
В настоящий момент Mycached поддерживает только чтение данных (команда get) и прозрачное преобразование записи в JSON представление (добавление постфикса ":json" к запрашиваемому ключу). Возможен вывод нескольких столбцов за один запрос и вывод отдельных столбцов.
|
|
|
|
|
TOra - Toolkit For Oracle |
(Версия: 2.0 от 2008-11-11) [+] [обсудить] |
| GUI-интерфейса для управления СУБД разработчиками и администраторами БД. TOra изначально был разработан для Oracle, но в последствии была добавлена поддержка MySQL и PostgreSQL.
В состав пакета входит PL/SQL отладчик, интерфейс для выполнения SQL запросов с подсветкой синтаксиса и автодоплнением операторов, браузер структуры и содержимого БД, средства для просмотра статистики работы СУБД, модули визуализации и анализа результатов выполнения запроса, средства для мониторинга производительности, выявления узких мест и формирования предложений по тюнингу настроек СУБД. Код TOra распространяется в рамках лицензии GPL.
В версии 2.0 произведена миграция на использование библиотеки QT4, реализована поддержка Oracle 11g и расширен набор инструментов для PostgreSQL. |
|
|
|
|
|
|
SQLiteDBMS - сервер баз данных для SQLite |
(Версия: 0.5.1 от 2006-11-16) [+] [обсудить] |
| СУБД сервер на базе SQLite, для обработки клиентских запросов использующий встроенный HTTP сервер с поддержкой WebDAV и протоколом обмена данными на базе XML.
Использование HTTP и XML позволяют напрямую организовать обращение к СУБД из динамических клиентских JavaScript приложений (Ajax), минуя необходимость создания промежуточных скриптов на сервере. Кроме того, в SQLiteDBMS интегрированы средства для управления содержимым базы данных через web-интерфейс.
Для управления доступом используется аутентификация по паролям и простейшая система разграничения доступа, включая реализацию таких команд как CREATE/DROP DATABASE, CREATE/DROP/ALTER USER, GRANT/REVOKE.
В планах реализация поддержки SSL, создание системы репликации и зеркалирования данных. |
|
|
|
|
|
|
Metakit - efficient embedded database library |
[+] [обсудить] |
| Похожая на SQLite библиотека для организации БД (не SQL, собственная схема запросов), c хранением базы в одном файле. Имеется поддержка транзакций, формат базы исключает возможность краха. Лицензия - MIT. Может использоваться в программах на C++, Python и Tcl. |
|
|
|
|
|
SQLRelay - persistent database connection pooling, proxying and load balancing system |
[+] [обсудить] |
| Прокси сервер, транслирующий запросы для большинства СУБД (от SQLite, MySQL и PostgreSQL до Oracle). Имеет средства:
балансировки нагрузки на несколько серверов БД (запросы на запись и изменения зеркалируются);
гибкие правила для ограничения числа запросов в ед. времени и одновременных (полезно для PostgreSQL);
Может выступать как сервер в сети для SQLite базы;
гибкие правила перенаправления на нужную БД (например, после обновления СУБД некоторых клиентов можно перенаправлять на старый сервер, а остальных на новый)
Эмуляция API библиотек MySQL и PostgreSQL, поддержка Perl DBD, Python DB, Ruby DBD, PHP Pear DB; |
|
|
|
|
|
ShellSQL - SQL for Shell Scripts |
(Версия: 0.7.1 от 2005-02-03) [+] [обсудить] |
| Набор программ облегчающих использование SQL запросов в Shell скриптах.
Поддерживаются интерфейсы к PostgreSQL, MySQL, SQLite3, Unix ODBC и FreeTDS.
|
|
|
|
|
QDBM - library of routines for managing a database |
[+] [обсудить] |
| GDBM-подобная система хранения данных, ориентированная на наличие большого числа повторяющихся ключей в базе (для B+ tree хранилища. Кроме того есть метод "hash"). Производительность выше чем у NDBM, SDBM, GDBM и Berkeley DB, но ниже, чем у CDB (Constant Database). Интерфейс существует для большого числа популярных языков программирования (Си, Perl, Java, Ruby и т.д.). |
|
|
|
|
|
miniDB - isam/btree library/program |
(Версия: 2.4 от 2010-08-01) [+] [обсудить] |
| Библиотека и набор утилит для манипулирования данными в isam/btree базе. Поддерживается выборка записей по ключу, индексы, автоинкремент. Возможна работа в режиме клиент/сервер. |
|
|
|
|
|
|
|
SQLite - Embeddable SQL Database Engine |
(Версия: 3.7.3 от 2010-10-20) [+] [есть мнение] |
| Библиотека реализующая интерфейс для организации баз данных без использования сторонних RDBMS систем (например, MySQL, PostgreSQL и т.д.). Для организации БД и доступа к хранилищу достаточно установить библиотеку SQLite, которая поддерживает запросы к хранилищу в виде SQL запросов. Все таблицы и индексы для БД хранятся в одном файле, существуют средства контроля целостности данных (атомарные commit и rollback транзакции), небольшой размер библиотек и поразительная скорость обработки запросов.
Для пользователей Perl разработан модуль DBD::SQLite - предоставляющий доступ к SQLite через DBI драйвер.
Для запуска SQLite как сетевого сервера можно использовать SQLRelay;
FT3 (full text indexer and search engine) - система полнотекстового поиска для SQLite;
SQLiteDBMS - СУБД сервер на базе SQLite, работающий как серверный процесс и принимающий соединения по TCP/IP, используя XML-подобным протокол запросов. |
|
|
|
|
|
PHPGem |
[+] [обсудить] |
| PHPGem это программа, которая позволяет ускорить процесс создания PHP-скрипта по работе с таблицей на SQL-сервере. |
|
|
|
|
Cach - LINUX версия постреляционной СУБД |
[+] [обсудить] |
| Cache SQL сервер - Высокопроизводительный доступ к базе данных, Cache Object Server - Объектный сервер приложений, Cache Web Link - Позволяет связывать Cache сервера Web-сервера.
Web-технологиях. |
|
|
|
|
|
BerkeleyDatabase (Berkeley DB) programmatic toolkit |
[+] [обсудить] |
| Тулкит для работы с БД как в традиционной форма так ис использованием технологии клиент/север. Включает в себя поддержку B+tree,Extended Linear Hashing, Fixed и Variable-length методы доступа кзаписям, transactions, locking, logging, shared memory caching и databaserecovery. Поддерживаются языки C, C++, Java и Perl. |
|
|
|
|
|
|
repcached - adds data replication feature to memcached |
[+] [обсудить] |
| Набор патчей для организации автоматической репликации данных между несколькими серверами memcached. Система поддерживает мульти-мастер режим и реплицирует данные в асинхроном режиме, поддерживаются все команды memcached (set, add, delete, incr/decr, flush_all, cas).
|
|
|
|
|
Sybase - Enterprise Class RDBMS for Linux |
[+] [обсудить] |
| Бесплатный вариант флагманской СУБД Sybase для Linux. Отличия от коммерческой версии состоят в введении следующих ограничений: сервер с 1 CPU и 2Гб ОЗУ, размер базы не более 5Гб.
sybperl - Perl модуль для работы с СУБД Sybase;
Sqsh - удобная командная оболочка для Sybase (замена стандартного isql). |
|
|
|
|