Встроенная база данных

редактировать

Система встроенная база данных - это система управления базами данных (СУБД), которая интегрирована с прикладным программным обеспечением, которому требуется доступ к сохраненным данным, так что система базы данных «скрыта» от конечного пользователя приложения и не требует постоянного обслуживания или почти не требует его. Фактически это широкая категория технологий, которая включает

Термин встроенная база данных может сбивать с толку, потому что только небольшая часть продуктов встроенных баз данных используется во в реальном времени встроенных системах, таких как телекоммуникационные коммутаторы и бытовая электроника устройства. (См. мобильная база данных для небольших баз данных, которые могут использоваться на встроенных устройствах.)

Содержание
  • 1 Реализации
  • 2 Сравнение механизмов хранения баз данных
    • 2.1 Сервер базы данных Advantage
    • 2.2 Apache Derby
    • 2.3 Empress Embedded Database
    • 2.4 Extensible Storage Engine
    • 2.5 eXtremeDB
    • 2.6 Firebird Embedded
    • 2.7 H2
    • 2.8 HailDB, ранее Embedded InnoDB
    • 2.9 HSQLDB
    • 2.10 InfinityDB
    • 2.11 Informix Dynamic Server
    • 2.12 InterBase
    • 2.13 LevelDB
    • 2.14 LMDB
    • 2.15 Mimer SQL
    • 2.16 MySQL Embedded Server Library
    • 2.17 NexusDB
    • 2.18 Oracle Berkeley DB
    • 2.19 Raima Database Manager
    • 2.20 RocksDB
    • 2.21 solidDB
    • 2.22 SQLite
    • 2.23 SQL Server Compact
  • 3 См. Также
  • 4 Ссылки
Реализации

Основные продукты для встроенных баз данных включают в алфавитном порядке:

Сравнение механизмов хранения баз данных

Advantage Database Server

Sybase Advantage Database Server (ADS) - это полнофункциональная встроенная система управления базами данных. Он обеспечивает как ISAM, так и реляционный доступ к данным и совместим с несколькими платформами, включая Windows, Linux и Netware. Он доступен в виде бесплатной локальной базы данных файлового сервера или полной версии клиент-сервер. ADS существует уже много лет, обладает высокой масштабируемостью, не требует администрирования и поддерживает множество IDE, включая .NET Framework (.NET), Object Pascal (Delphi)., Visual FoxPro (FoxPro), PHP, Visual Basic (VB), Visual Objects (VO), Vulcan, Clipper, Perl, Java, xHarbour и т. Д.

Apache Derby

Derby - это встраиваемый механизм SQL, полностью написанный на Java. Полностью транзакционный, многопользовательский с приличным подмножеством SQL, Derby - это зрелый движок, свободно доступный по лицензии Apache и активно поддерживаемый. Страница проекта Дерби. Он также распространяется как часть Oracle Java SE Development Kit (JDK) под названием Java DB.

Empress Embedded Database

Empress Software, Inc., разработчик Empress Embedded Database, является частной компанией, основанной в 1979 году. Empress Embedded Database - это полноценная функция, реляционная база данных, которая была встроена в приложения малыми и крупными организациями, со средами развертывания, включая медицинские системы, сетевые маршрутизаторы, мониторы атомных электростанций, спутниковые системы управления и другие встроенные системные приложения, требующие надежности и мощности. Empress является ACID совместимым, SQL механизмом базы данных с C, C ++, Java, JDBC, ODBC, SQL, ADO.NET и API уровня ядра . Приложения, разработанные с использованием этих API, могут работать в автономном и / или серверном режимах. Встроенная база данных Empress работает в Linux, Unix, Microsoft Windows и операционных системах реального времени.

Extensible Storage Engine

ESE - это хранилище данных с использованием метода индексированного последовательного доступа (ISAM). технология от Microsoft. ESE - это, в частности, ядро ​​Microsoft Exchange Server и Active Directory. Его цель - позволить приложениям сохранять и извлекать данные с помощью индексированного и последовательного доступа. Почта Windows и Desktop Search в операционной системе Windows Vista также используют ESE для хранения индексов и информации о свойствах соответственно.

eXtremeDB

McObject LLC запустила eXtremeDB как первую встроенную базу данных в памяти, разработанную с нуля для встроенных систем реального времени. К первоначальному продукту вскоре присоединился eXtremeDB High Availability (HA) для отказоустойчивых приложений. Семейство продуктов теперь включает 64-битные версии и журналы транзакций, а также гибридную версию eXtremeDB Fusion, которая сочетает в себе хранение данных в памяти и на диске. В 2008 году McObject представила eXtremeDB Kernel Mode, первую встроенную СУБД, предназначенную для работы в операционной системе ядро ​​. Сегодня eXtremeDB используется в миллионах систем реального времени и встроенных систем по всему миру. McObject также предлагает Perst, с открытым исходным кодом, объектно-ориентированную встроенную базу данных для Java, Java ME,.NET, .NET Compact Framework и Silverlight.

Firebird Embedded

Firebird Embedded - это механизм реляционной базы данных. Это форк InterBase с открытым исходным кодом, совместим с ACID, поддерживает триггеры и хранимые процедуры и доступен в системах Linux, OSX и Windows. Он имеет те же функции, что и классическая и суперсерверная версия Firebird, два или более потока (и приложения) могут одновременно обращаться к одной и той же базе данных, начиная с Firebird 2.5. Таким образом, встроенный Firebird действует как локальный сервер для однопоточного клиента, обращающегося к его базам данных (это означает, что он правильно работает для веб-приложений ASP.NET, потому что там каждый пользователь имеет свой собственный поток, что означает, что два пользователя могут получить доступ к одной и той же базе данных одновременно. раз, но они не будут в одном потоке, потому что ASP.NET открывает новый поток для каждого пользователя). Он экспортирует стандартные точки входа API Firebird. Основное преимущество встроенных баз данных Firebird заключается в том, что в отличие от баз данных SQlite или Access, они могут быть подключены к полноценному серверу Firebird без каких-либо модификаций, а также являются мультиплатформенными (работает на Linux, OS X с полной поддержкой ASP.NET Mono)

.

H2

Написано на Java Очень быстрый движок базы данных с открытым исходным кодом. Встроенный и серверный режимы, поддержка кластеризации, могут работать внутри Google App Engine. Поддерживает зашифрованные файлы базы данных (AES или XTEA). Разработка H2 началась в мае 2004 года, но она была впервые опубликована 14 декабря 2005 года. H2 имеет двойную лицензию и доступен под модифицированной версией MPL 1.1 (Mozilla Public License) или под (немодифицированной) EPL 1.0 (Eclipse Общественная лицензия).

HailDB, ранее Embedded InnoDB

HailDB - это автономная встраиваемая форма InnoDB Storage Engine. Учитывая, что HailDB основан на той же кодовой базе, что и InnoDB Storage Engine, он содержит многие из тех же функций: высокая производительность и масштабируемость, мультиверсионный контроль параллелизма (MVCC), блокировка на уровне строк, обнаружение взаимоблокировок., отказоустойчивость, автоматическое восстановление после сбоев и т. д. Однако, поскольку встроенный движок полностью независим от MySQL, ему не хватает серверных компонентов, таких как сеть, разрешения на уровне объектов и т. д. За счет устранения накладных расходов на сервер MySQL InnoDB занимает мало места и хорошо подходит для встраивания в приложения, требующие высокой производительности и параллелизма. Как и большинство встраиваемых систем баз данных, HailDB предназначен для доступа в первую очередь с помощью ISAM-подобного C API, а не SQL (хотя поддерживается крайне рудиментарный вариант SQL).

Проект больше не поддерживается.

HSQLDB

HSQLDB - это система управления реляционными базами данных с открытым исходным кодом с лицензией типа BSD, которая работает на той же виртуальной машине Java, что и встроенное приложение. HSQLDB поддерживает различные режимы таблиц в памяти и на диске, Unicode и SQL: 2016.

InfinityDB

InfinityDB Embedded Java DBMS - это отсортированное иерархическое хранилище ключей / значений. Теперь у него есть зашифрованная версия и версия клиент / сервер. Запатентована частота многоядерных процессоров. InfinityDB является безопасным, транзакционным, надежным и надежным в одном файле для мгновенной установки и нулевого администрирования. API-интерфейсы включают простой быстрый «ItemSpace», представление ConcurrentNavigableMap и JSON. RemoteItemSpace может прозрачно перенаправлять встроенные API в другие экземпляры базы данных. Клиент / сервер включает в себя легкий сервер сервлетов, веб-администратора и просмотр базы данных, а также REST для python.

Informix Dynamic Server

Informix Dynamic Server (IDS) характеризуется как встраиваемый сервер базы данных корпоративного класса, сочетающий в себе встраиваемые функции, такие как компактность, программируемые и автономные возможности, с такими функциями баз данных корпоративного класса, как высокая доступность и гибкие возможности репликации. IDS используется в глубоко встроенных сценариях, таких как системы обработки вызовов IP-телефонии, приложения для точек продаж и системы обработки финансовых транзакций.

InterBase

InterBase - это отмеченная наградой IoT кроссплатформенная платформа баз данных SQL с поддержкой Unicode, которую можно встраивать в приложения под ключ. Стандартная поддержка SMP и 256-битное шифрование AES на диске, соответствие SQL 92 и ACID, а также поддержка платформ Windows, Macintosh, Linux, Solaris, iOS и Android. Идеально подходит как для малых, так и для средних и крупных предприятий, поддерживающих сотни пользователей и разработку мобильных приложений. InterBase Light - это бесплатная версия, которую можно использовать на любом мобильном устройстве, и она идеально подходит для мобильных приложений. Предприятия могут перейти на платную версию по мере повышения требований к управлению изменениями и безопасности. InterBase широко используется в оборонной, авиационной, нефтегазовой и обрабатывающей промышленности.

LevelDB

LevelDB - это упорядоченное хранилище ключей / значений, созданное Google как облегченная реализация хранилища Bigtable. дизайн. В качестве библиотеки (что является единственным способом использования LevelDB) ее собственный API - это C ++. Он также включает официальные оболочки C. для большей функциональности. Сторонние API-оболочки существуют для Python, PHP, Go (чистая реализация Go LevelDB существует, но все еще находится в разработке), Node.js и Objective C. Google распространяет LevelDB в соответствии с новой лицензией BSD.

LMDB

Lightning Memory-Mapped Database (LMDB) - это карта памяти база данных ключ-значение для проекта OpenLDAP. Он написан на C, а API смоделирован по образцу Berkeley DB API, хотя и значительно упрощен. Библиотека чрезвычайно компактна, компилируется до 40 КБ объектного кода x86, защищена от повреждений и на несколько порядков быстрее, надежнее, масштабируемее и эффективнее, чем аналогичные библиотеки, такие как Berkeley DB, LevelDB и т. Д. Библиотека реализует деревья B + с многоверсионным управлением параллелизмом (MVCC), одноуровневым хранилищем, копированием при записи и предоставляет полный ACID без взаимоблокировок. Библиотека оптимизирована для одновременного чтения; читатели вообще не нуждаются в замках. Читатели не блокируют писателей, а писатели не блокируют читателей, поэтому производительность чтения идеально линейно масштабируется между произвольным количеством потоков и процессоров. Сторонние оболочки существуют для C ++, Erlang и Python. LMDB распространяется проектом OpenLDAP под общественной лицензией OpenLDAP. С 2013 года проект OpenLDAP отказывается от использования Berkeley DB в пользу LMDB.

Mimer SQL

Доступна встроенная версия проприетарной базы данных Mimer SQL, не требующая обслуживания.

MySQL Embedded Server Library

libmysqld, MySQL Embedded Server Library предоставляет большинство функций обычного MySQL в качестве связываемой библиотеки, которая может быть запускаться в контексте клиентского процесса. После инициализации клиенты могут использовать те же вызовы C API, что и при разговоре с отдельным сервером MySQL, но с меньшими накладными расходами на связь и без необходимости в отдельном процессе базы данных.

NexusDB

NexusDB является коммерческим преемником базы данных FlashFiler, которая теперь имеет открытый исходный код. Оба они могут быть встроены в приложения Delphi для создания автономных исполняемых файлов с полной функциональностью базы данных.

Oracle Berkeley DB

Как следует из названия, встроенная база данных Oracle на самом деле является Berkeley DB, которую Oracle приобрела у Sleepycat Software. Первоначально он был разработан в Калифорнийском университете. Berkeley DB - это быстрая встроенная база данных с открытым исходным кодом, которая используется в нескольких хорошо известных продуктах с открытым исходным кодом, включая операционные системы Linux и BSD Unix, веб-сервер Apache, пакет для повышения производительности OpenOffice. Тем не менее, за последние годы многие известные проекты перешли на использование LMDB, потому что он превосходит Berkeley DB в ключевых сценариях на основе конструкции «меньше значит больше », а также из-за изменение лицензии.

Raima Database Manager

Raima Database Manager, созданный Raima, был одной из первых систем управления базами данных, которые были отнесены к категории встроенных баз данных. Согласно определению Раймы, продукт встраивается в двух смыслах: во-первых, он встроен в приложение, становясь его расширением, а во-вторых, его можно использовать во встроенном компьютере / ОС или в средах реального времени из-за его небольшая занимаемая площадь и эффективная работа. Его API-интерфейсы (для C / C ++, SQL, JDBC, ODBC, ADO.NET и RESTful) были разработаны для поддержки ограниченных ресурсов встроенных сред. С момента своего первоначального выпуска RDM Embedded постоянно развивается и в настоящее время выпущен как версия 14.2.

RocksDB

RocksDB, созданный на Facebook, начинался как форк LevelDB. Основное внимание уделяется производительности, особенно на SSD. Он добавляет множество функций, в том числе транзакции, резервные копии, снимки, фильтры цветения, семейства столбцов, срок действия, настраиваемые операторы слияния, более настраиваемое сжатие, сбор статистики и геопространственное индексирование. Он используется в качестве механизма хранения в нескольких других базах данных, включая ArangoDB, Ceph, CockroachDB, MongoRocks, MyRocks, Rocksandra, и TiKV.

solidDB

solidDB - это гибридная реляционная база данных на диске / в памяти, которая часто используется в качестве встроенной системной базы данных в телекоммуникационном оборудовании, сетевом программном обеспечении и подобных системах. Технология баз данных в памяти используется для достижения пропускной способности в десятки тысяч транзакций в секунду при времени отклика, измеряемом в микросекундах. Опция высокой доступности поддерживает постоянную синхронизацию двух копий данных. В случае сбоя системы приложения могут восстановить доступ к solidDB менее чем за секунду без потери данных.

SQLite

SQLite - это программная библиотека, которая реализует автономный, безсерверный, транзакционный механизм базы данных SQL с нулевой конфигурацией. SQLite - это самый широко распространенный механизм баз данных SQL в мире. Исходный код SQLite, в основном C, находится в открытом доступе. Он включает в себя как собственную библиотеку C, так и простой клиент командной строки для своей базы данных. Он включен в несколько операционных систем; среди них Android, FreeBSD, iOS, OS X и Windows 10.

SQL Server Compact

.

Microsoft SQL Server Compact - это встроенная база данных с широким спектром функций, таких как многопроцессорные соединения, T-SQL, службы синхронизации ADO.NET для синхронизации с любой серверной базой данных, репликация слиянием с SQL Server, API программирования: LINQ to SQL, LINQ to Entities, ADO.NET. Продукт работает как на настольных, так и на мобильных платформах Windows. Он присутствует на рынке давно, используется многими предприятиями в производстве программного обеспечения (Примеры использования ). Продукт прошел несколько ребрендингов и был известен под несколькими названиями, такими как: SQL CE, SQL Server CE, SQL Server Mobile, SQL Mobile.

См. Также
Ссылки
  1. ^Graves, Steve. «Базы данных COTS для встраиваемых систем» Архивировано 14 ноября 2007 г. на Wayback Machine, журнал Embedded Computing Design, январь 2007 г. Получено 13 августа 2007 г. 2008.
  2. ^Маллинз, Крейг. «Императрица предлагает эффективное решение для встроенных баз данных», 2005. Проверено 9 декабря 2008 г.
  3. ^Горин, Андрей и Криволапов, Александр. «Базы данных режима ядра: технология СУБД для высокопроизводительных приложений», журнал доктора Добба, апрель 2008 г. Получено 13 августа 2008 г.
  4. ^Домашняя страница HailDB
  5. ^Завершение работы HailDB, Стюарт Смит, 19 августа 2015 г., HailDB
  6. ^«Встраивание динамического сервера Informix», получено 30 августа 2009 г.
  7. ^См. Berkeley DB
  8. ^Никколай, Джеймс. «Обновление: Oracle покупает поставщика базы данных с открытым исходным кодом Sleepycat» Архивировано 13 июня 2008 г. на Wayback Machine, «InfoWorld», 14 февраля 2006 г.. Проверено 12 июня 2008 г.
  9. ^«Основы RocksDB». Проверено 19 июля 2018 г.
  10. ^«Транзакции RocksDB». GitHub. Проверено 4 апреля 2016 г.
  11. ^«Как сделать резервную копию RocksDB?». Проверено 19 июля 2017 г.
  12. ^"Checkpoints". Проверено 19 июля 2017 г.
  13. ^«Фильтры цветения RocksDB». GitHub. Проверено 4 апреля 2016 г.
  14. ^«Семейства столбцов в RocksDB». GitHub. Проверено 4 апреля 2016 г.
  15. ^«Поддержка RocksDB TTL». GitHub. Проверено 4 апреля 2016 г.
  16. ^«Оператор слияния RocksDB». GitHub. Проверено 4 апреля 2016 г.
  17. ^«Универсальное уплотнение». GitHub. Проверено 4 апреля 2016 г.
  18. ^«Контекст производительности RocksDB и контекст статистики ввода-вывода». GitHub. Проверено 4 апреля 2016 г.
  19. ^«Пространственная индексация в RocksDB». Rockdb.org. Проверено 19 июля 2018 г.
  20. ^«Сравнение новых механизмов хранения RocksDB и MMFiles». Проверено 19 июля 2018 г.
  21. ^«Устройства хранения - документация Ceph». Проверено 19 июля 2018 г.
  22. ^«Уровень хранения - CockroachDB». Проверено 19 июля 2018 г.
  23. ^«mongodb-partners / mongo-rocks: уровень интеграции хранилища MongoDB для механизма хранилища Rocks». Проверено 19 июля 2018 г.
  24. ^«MyRocks - механизм хранения RocksDB с MySQL». Проверено 19 июля 2018 г.
  25. ^«Открытый исходный код 10-кратного сокращения задержки хвоста Apache Cassandra». Проверено 19 июля 2018 г.
  26. ^«RocksDB в TiKV - PingCAP». Проверено 19 июля 2018 г.
  27. ^Ответ, Усман (29 октября 2015 г.). «Новое мышление с SQLite в Windows 10». Microsoft. Архивировано с оригинального 31 января 2016 года. Проверено 6 марта 2016 г.
Последняя правка сделана 2021-05-19 08:28:14
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте