Apache Derby

Apache Derby
Логотип программы Apache Derby
Тип Реляционная СУБД
Автор Cloudscape Inc (а затем IBM)
Разработчик Apache Software Foundation
Написана на Java
Операционная система Кроссплатформенное ПО
Первый выпуск 1997 и 29 марта 2006[1]
Аппаратная платформа Java Virtual Machine
Последняя версия 10.15.2.0 (1 марта 2020)
Репозиторий svn.apache.org/repos/asf…
Читаемые форматы файлов:
CSV[2]
Создаваемые форматы файлов:
Derby Write Ahead Log[d][3]
Состояние Active
Лицензия Apache License 2.0
Сайт db.apache.org/derby/

Apache Derby — реляционная СУБД, написанная на Java, предназначенная для встраивания в Java-приложения или обработки транзакций в реальном времени. Занимает 2 MB на диске.[4] Распространяется на условиях лицензии Apache 2.0. Ранее известна как IBM Cloudscape. Oracle распространяет те же бинарные файлы под именем Java DB[5].

Технологии Derby

Встраиваемое ядро базы данных Derby

Основа технологии базы данных Derby — полнофункциональное встраиваемое ядро реляционной базы данных. JDBC и SQL — это доступные API для него. Поддерживается синтаксис SQL, аналогичный IBM DB2.

Сетевой сервер Derby

Сетевой сервер Derby добавляет к возможностям ядра СУБД клиент-серверные возможности. Сетевой сервер позволяет клиентам подключаться через TCP/IP, используя стандартный протокол DRDA[англ.]. Сервер сети предоставляет Derby сетевую поддержку JDBC, ODBC /CLI, Perl и PHP.

Встроенный сетевой сервер

Встроенная база данных может быть также сконфигурирована для работы в качестве гибридной серверно-встраиваемой РСУБД; принимающей TCP/IP соединения от других клиентов в добавление к клиентам на той же JVM.[6]

Утилиты работы с БД

  • ij — инструмент, позволяющий выполнять SQL-сценарии для любой базы данных JDBC.
  • dblook — инструмент извлечения схемы базы данных Derby.
  • SysInfo — утилита для отображения номера версии и пути к java-классу Derby.
  • KAM Derby JDBC https://sites.google.com/site/jkamderby/

История

Apache Derby зародилась в компании Cloudscape Inc., находящейся в Окленде, штат Калифорния. Разработку этой Java-СУБД начали в 1996 году Nat Wyatt и Howard Torf. Первый релиз, названный JBMS, был выпущен в 1997 году. Впоследствии продукт был переименован в Cloudscape DB, его релизы выходили примерно каждые полгода.

В 1999 году Informix Software, Inc. приобрела компанию Cloudscape, Inc. В 2001 году все разработки в области баз данных, принадлежащие Informix Software, в том числе и Cloudscape, отошли IBM. СУБД была переименована в IBM Cloudscape и продолжала выпускаться, будучи ориентированной в основном на встроенное использование с Java-продуктами IBM и промежуточным программным обеспечением.

В августе 2004 года IBM передала исходный код в Apache Software Foundation под именем Derby — инкубаторный проект, финансируемый проектом Apache DB.[7] В июле 2005 года проект Derby вышел из инкубатора Apache и в настоящее время разрабатывается в качестве суб-проекта Apache DB верхнего уровня. Перед выходом Derby из инкубатора к проекту также присоединилась Sun с целью использования Derby как компонента своих продуктов[8] и, начиная с релиза Java 6, в декабре 2006 года Sun начала поставлять Derby в составе JDK под именем Java DB.

В марте 2007 года IBM объявила, что отказывается от маркетинга и поддержки продукта Cloudscape, но будет продолжать вносить свой вклад в проект Apache Derby.[9]

Сравнение с другими встроенными SQL базами данных на Java

С точки зрения скорости выполнения, Derby не показала хороших результатов в сравнении с другими встраиваемыми SQL базами данных, такими как другая открытая и свободная база данных H2.[10][11][12]

Дерби не поддерживает управление конкурентным доступом с помощью многоверсионности (MVCC) в отличие от своих основных конкурентов HyperSQL и H2.

См. также

  • HSQLDB
  • H2
  • JDBC
  • Сравнение систем управления реляционными базами данных  (англ.)

Примечания

  1. https://projects.apache.org/json/projects/db-derby.json
  2. https://db.apache.org/derby/docs/10.8/adminguide/cadminimportdefaultformat.html
  3. https://db.apache.org/derby/papers/logformats.html
  4. The Apache DB Project  (неопр.). Apache.org. Архивировано из оригинала 5 июля 2012 года.
  5. Java DB — FAQs: «Is Java DB a fork of Apache Derby?»  (неопр.) Дата обращения: 21 ноября 2010. Архивировано 16 июля 2011 года.
  6. see Embedded Server Example in http://db.apache.org/derby/docs/10.4/adminguide/ Архивная копия от 13 ноября 2010 на Wayback Machine
  7. Why IBM is open sourcing Cloudscape as Derby  (неопр.). IBM. Архивировано из оригинала 5 июля 2012 года.
  8. Apache Derby graduates with Sun onboard  (неопр.). CNET news.com. Архивировано из оригинала 5 июля 2012 года.
  9. Changes in Cloudscape Availability and Support  (неопр.). IBM. Архивировано из оригинала 5 июля 2012 года.
  10. Hsqldb vs Derby  (неопр.). Ignacio Coloma. Архивировано из оригинала 5 июля 2012 года.
  11. H2 Database Performance  (неопр.). H2 Database. Архивировано из оригинала 5 июля 2012 года.
  12. Benchmark for h2, hypersonic, derby  (неопр.). H2 Database. Дата обращения: 21 ноября 2010. Архивировано 10 мая 2010 года.

Литература

  • Paul C. Zikopoulo, George Baklarz, Dan Scott. Apache Derby — Off to the Races: Includes Details of IBM Cloudscape. — IBM Press, 6 ноября, 2005. — P. 600. — ISBN 0131855255.

Ссылки

  • Apache Derby Project (англ.)
  • Сайт IBM Cloudscape Site (англ.)
  • Internals of Derby, An Open Source Pure Java Relational Database Engine поставляется со встраиваемой средой OSGi
  • Сайт Sun Microsystems Java DB (англ.)
  • Apache Derby SMP scalability (англ.)
  • Apache Derby performance results in the JPA Benchmark (англ.)
  • Разработка при помощи Apache Derby — тройной выигрыш: (рус.)
    • Введение в Apache Derby
    • Разработка баз данных при помощи Apache Derby. ч.1, ч.2, ч.3, ч.5, ч.6, ч.7
    • Разработка баз данных на Java при помощи Apache Derby, ч. 1, ч.2, ч.3, ч.6
Перейти к шаблону «Apache»
Проекты верхнего уровня
Подпроекты
Apache Commons
Lucene
DB[вд]
  • Derby
  • Torque[англ.]
  • DdlUtils[англ.]
  • OJB[англ.]
  • JDO[англ.]
Apache Web Services[англ.]
  • Axis[англ.]
  • Axis2[англ.]
  • CXF
  • WS-Commons[англ.]
  • EWS[англ.]
  • JaxMe[англ.]
  • jUDDI[англ.]
  • Kandula[англ.]
  • Mirae[англ.]
  • Muse[англ.]
  • Pubscribe[англ.]
  • Sandesha[англ.]
  • Scout[англ.]
  • SOAP[англ.]
  • Synapse[англ.]
  • TSIK[англ.]
  • Tuscany[англ.]
  • Woden[англ.]
  • WSIF[англ.]
  • WSRF[англ.]
  • WSS4J[англ.]
  • XML-RPC[англ.]
Другие проекты
Развивающиеся проекты (Incubator)
  • XAP[англ.]
  • River[англ.]
  • OpenEJB[англ.]
  • OpenJPA[англ.]
  • Graffito[англ.]
  • Tuscany[англ.]
  • Log4Net[англ.]
  • Roller
  • Felix
  • Abdera[англ.]
  • CeltiXfire[англ.]
  • FtpServer[англ.]
  • Heraldry[англ.]
  • Ivy[англ.]
  • JuiCE[англ.]
  • Kabuki[англ.]
  • Lokahi[англ.]
  • Lucene.Net[англ.]
  • mod_ftp[англ.]
  • NMaven[англ.]
  • Ode[англ.]
  • stdcxx[англ.]
  • Woden[англ.]
  • WSRP4J[англ.]
  • Yoko[англ.]
  • WADI[англ.]
  • Qpid
  • TripleSoup[англ.]
  • UIMA[англ.]
  • Adobe Flex
Списанные проекты (Attic)
  • AxKit[англ.]
  • Beehive[англ.]
  • Cactus[англ.]
  • ECS[англ.]
  • Excalibur[англ.]
  • Harmony
  • HiveMind[англ.]
  • iBATIS[англ.]
  • Jakarta
  • ORO[англ.]
  • Regexp[англ.]
  • Shale
  • Slide[англ.]
  • Taglibs[англ.]