Apache Derby (ранее распространялся как IBM Cloudscape ) — это система управления реляционными базами данных (СУБД), разработанная Apache Software Foundation , которая может быть встроена в программы Java и использована для онлайн-обработки транзакций . Она занимает 3,5 МБ дискового пространства. [1]
Apache Derby разрабатывается как проект с открытым исходным кодом под лицензией Apache 2.0 . Некоторое время Oracle распространяла те же двоичные файлы под названием Java DB . [2] В июне 2015 года они объявили, что для JDK 9 они больше не будут этого делать. [3]
Apache Derby возник в Cloudscape Inc, стартапе из Окленда , штат Калифорния , основанном в 1996 году Нэтом Уайеттом и Говардом Торфом для разработки технологии баз данных Java . Первый релиз движка базы данных, тогда называвшегося JBMS, состоялся в 1997 году. Впоследствии продукт был переименован в Cloudscape, и релизы производились примерно каждые шесть месяцев.
В 1999 году Informix Software, Inc. приобрела Cloudscape, Inc. [4] В 2001 году IBM приобрела активы баз данных Informix Software, включая Cloudscape. Движок базы данных был переименован в IBM Cloudscape, и выпуски продолжились, в основном фокусируясь на встроенном использовании с продуктами IBM Java и промежуточным программным обеспечением.
В августе 2004 года IBM передала код Apache Software Foundation под названием Derby, инкубаторному проекту, спонсируемому проектом Apache DB. [5] В июле 2005 года проект Derby вышел из инкубатора Apache и в настоящее время разрабатывается как подпроект DB Top Level Project в Apache. До того, как Derby вышел из инкубатора, Sun присоединилась к проекту Derby с намерением использовать Derby в качестве компонента в своих собственных продуктах, [6] а с выпуском Java 6 в декабре 2006 года Sun начала упаковывать Derby в JDK под брендом Java DB.
В марте 2007 года IBM объявила, что прекращает маркетинг и поддержку продукта Cloudscape, но продолжит вносить вклад в проект Apache Derby. [7]
База данных Java DB — это поддерживаемый Oracle дистрибутив Apache Derby. [8]
Ядро технологии, Derby's database engine, представляет собой полнофункциональную реляционную встроенную базу данных, поддерживающую JDBC и SQL в качестве API программирования. Она использует синтаксис IBM Db2 SQL .
Сетевой сервер Derby увеличивает охват ядра базы данных Derby, предоставляя традиционную клиент-серверную функциональность. Сетевой сервер позволяет клиентам подключаться по TCP/IP с использованием стандартного протокола DRDA . Сетевой сервер позволяет ядру Derby поддерживать сетевые JDBC, ODBC / CLI , Perl .
Встроенную базу данных можно настроить для работы в качестве гибридного сервера/встроенной СУБД; также для приема соединений TCP/IP от других клиентов в дополнение к клиентам в той же JVM. [9]