Ada_Ru форум

Обсуждение языка Ада

Ada и Database

Оставить новое сообщение

Сообщения

Olleg Samoylov
Ada и Database
2006-10-15 14:43:39

Здраствуйте.

 

Решился написать open source проект на Ada. Думаю там получится распределенная структура на PolyOrb, но нужна DB для хранения текущей информации, желательно поддерживающая репликации. Проект будет под GPL (код) LGPL (заголовки), чтобы не ссорится с AdaCore из-за лицензий. :) Поэтому и библиотеки нужны под непротиворечивыми лицензиями.

 

1. Кажется, что удачным будет решение на Oracle Berkeley DB (ранее известной как sleepycat).

http://www.oracle.com/database/berkeley-db/db/index.html

Т.к. все равно используется Corba, то кажется нет смысла возится с SQL. Вопрос, известна ли подходящая открытая библиотека для работы с этой DB? Или придется писать свою?

 

2. Возможно придется использовать PostgreSQL на центральном узле, если с Вerkley db совладать не получится. Есть какая открытая библиотека (решение) лучшее для связи с ним?

 

3. Возможно в Ada есть открытые аналоги Berkley DB. Какие из них стоит поглядеть?

 

-- Olleg Samoylov

Wed, 15 Nov 2006 17:43:39 +0300, Olleg <olleg_s@...> писал(а):

 

Здраствуйте.

 

Решился написать open source проект на Ada. Думаю там получится распределенная структура на PolyOrb, но нужна DB для хранения текущей информации, желательно поддерживающая репликации. -- Olleg Samoylov

 

Олег, какие проблемы в Вашем случае могут возникнуть, если использовать

ADO + GNATCOM, под Windows. Может проблема в PolyOrb под Windows, или

обязательно нужен Linux?

 

WBR Sergey.

 

---

Хотите свободно общаться на иностранном языке? Вести деловые переговоры на

английском? В ваши планы входит успешная сдача международных экзаменов? Ждё мва

с International House , вте. 293-65-55, 293-06-68, 609-89-90, 777-73-18 http://www.ih.by/

Olleg wrote:

 

Т.к. все равно используется Corba, то кажется нет смысла возится с SQL.

Всё зависит от сложности структур данных. Для реально сложных связанных данных возможности реляционной базы можно использовать с целью контроля целостности и непротиворечивости хранимой информации. Что для больших проектов есть огромный плюс.

 

2. Возможно придется использовать PostgreSQL на центральном узле, если с

Вerkley db совладать не получится. Есть какая открытая библиотека

(решение) лучшее для связи с ним?

 

Существует множество решений:

- APQ http://home.cogeco.ca/~ve3wwg/software.html#APQ

- GNADE http://gnade.sourceforge.net/

- ADBI http://www.ada-ru.org/src_adbi.html

- мы используем собственную библиотеку (могу поделиться)

- и много чего ещё мне не известного

Sergey Kirkorov wrote:

Wed, 15 Nov 2006 17:43:39 +0300, Olleg <olleg_s@...> писал(а):

Олег, какие проблемы в Вашем случае могут возникнуть, если использовать

ADO + GNATCOM, под Windows. Может проблема в PolyOrb под Windows, или

обязательно нужен Linux?

 

Я прицеливаюсь на Unix(Posix). Так уж принято у интернет

провайдеров, что сервера стоят под юниксами: Linux, BSD, OpenSolarice. А

проект предназначен именно для них. Хотя какие-то части будут под

виндами, это не избежно. Поэтому Gnatcom не подходит.

 

Ado может быть. Но хочется иметь DB не только на центральном узле, но и

на агентах. Ставить на каждом сервере SQL сервер не

хочется. Хранить все в центральном не получается. Поэтому казалось

логичным использовать что-то типа Berkley DB.

 

-- Olleg Samoylov

On Wed, Nov 15, 2006 at 05:43:39PM +0300, Olleg wrote:

1. Кажется, что удачным будет решение на Oracle Berkeley DB

Вопрос, известна ли подходящая открытая библиотека для работы с этой DB?

 

В google.com на запрос "Berkley DB Ada binding" нашлясь ссылочка

http://www.ada-france.org/debian/pool/gnat-gps_1.4.0-1_i386.changes

Там ChangeLog для Debian GPS:

...

gnat-gps (1.4.0-1) unstable; urgency=low

* Тра-та-та

* Build the Ada binding to Berkeley DB 1.85 against libdb3's

compatibility interface instead of the copy of Berkeley DB included in Source Navigator.

 

Выходит был (есть?) у них в gps биндинг к этому. Я не знаю что там у GPS внутри. Предлагаю скачать эту версию и поискать в сырцах

http://www.ada-france.org/debian/pool/

http://www.ada-france.org/debian/pool/gnat-gps_1.4.0.orig.tar.gz

http://www.ada-france.org/debian/pool/gnat-gps_1.4.0-1.diff.gz

 

--

Maxim Reznik

Vadim Godunko wrote:

Olleg wrote:

Всё зависит от сложности структур данных. Для реально сложных связанных данных возможности реляционной базы можно использовать с целью контроля целостности и непротиворечивости хранимой информации. Что для больших проектов есть огромный плюс.

 

Да, но помимо центральной базы данных надо будет хранить кое-какую информацию на местах. Не в текстовых же файлах её хранить. Поэтому и ищу что-то вроде Berkley DB, не громозкую, но поддерживающую транзакции.

 

2. Возможно придется использовать PostgreSQL на центральном узле, если с

Вerkley db совладать не получится. Есть какая открытая библиотека

(решение) лучшее для связи с ним?

 

Существует множество решений:

- APQ http://home.cogeco.ca/~ve3wwg/software.html#APQ

- GNADE http://gnade.sourceforge.net/

- ADBI http://www.ada-ru.org/src_adbi.html

- мы используем собственную библиотеку (могу поделиться)

 

Интерестно, при таком богатстве вариантов вы написали собственную библиотеку. Можете рассказать, что в остальных проектах вам не понравилось?

 

-- Olleg Samoylov

Olleg wrote:

 

Интерестно, при таком богатстве вариантов вы написали собственную

библиотеку. Можете рассказать, что в остальных проектах вам не понравилось?

 

Не то что бы не понравилось, но...

- APQ не имел generic-ов для точной настройки на Ada типы;

- GNADE тогда только через ODBC работал, а ODBC не позволял использовать схемы;

- ADBI помоему ещё не существовало (по крайней в публичном доступе).

 

К тому же мы выдвигали требования именно под нужды серверов:

- многопоточная обработка;

- переиспользование имеющихся соединений;

 

и хорошего стиля программирования:

- строгая типизация (с проверкой соответствия типа данных Ada с доменом SQL при исполнении).

Vadim Godunko wrote:

К тому же мы выдвигали требования именно под нужды серверов:

- многопоточная обработка;

- переиспользование имеющихся соединений;

 

и хорошего стиля программирования:

- строгая типизация (с проверкой соответствия типа данных Ada с доменом SQL при исполнении).

 

Очень интерестно. С какиеми серверами библиотека совместима? Какая у неё

лицензия распространения? (Если свободная, то почему она не влилась в

GNADE?)

 

-- Olleg Samoylov

Olleg wrote:

 

Очень интерестно. С какиеми серверами библиотека совместима? Какая у неё

лицензия распространения? (Если свободная, то почему она не влилась в

GNADE?)

 

В настоящее время библиотека работает только с PostgreSQL. Раньше существовал вариант для MySQL, но его сопровождение было прекращено, в первую очередь из-за неразрешенной проблемы использования клиентской библиотеки с задачами Ada.

 

Лицензию можно назначить любую, наверное лучше всего что-то типа LGPL. А в GNADE она не влилась поскольку это никому не нужно было ;)

Vadim Godunko wrote:

<<

 

Olleg wrote:

>

> Очень интерестно. С какиеми серверами библиотека совместима? Какая у неё

> лицензия распространения? (Если свободная, то почему она не влилась в

> GNADE?)

>

В настоящее время библиотека работает только с PostgreSQL.>>

 

Сильно интересуюсь этой библиотекой. Дай пожалуйста посмотреть.

Dmitriy Anisimkov wrote:

>

Сильно интересуюсь этой библиотекой. Дай пожалуйста посмотреть.

 

Дима, а можешь на сайте Ada-RU выложить?

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти