Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Есть ли зрелая альтернатива SQL?


Автор: Andrey1 22.4.2008, 18:01
Возникла потребность окультурить сырую базу данных (то есть, данные из огромной таблички обработать и представить в другом, более удобном и потребном виде).

SQL хорош для реляционной структуры. Но очень бы хотелось бы работать на уровне объектов: и коду так будет меньше и душе более радостно smile.

Нет ли зрелых альтернатив SQL?

Вроде как Hibernate уже давно развивается, но есть ли какие-нибудь скриптовые возможности в Hibernate?

Можно еще подумать в сторону Groovy - там тоже обещали почти ОО-поддержку для баз данных smile. Знак вопросительный smile.

Или JDO?...

Возможно, если бы существовало жизнеспособное Java Object Persistence для Java Script этого было бы достаточно?..

Автор: Platon 22.4.2008, 20:47
Интересовался этим вопросом. http://www.intersystems.com/cache/index.html. Посмотрел, почитал, но даже не установил. Мне и MySQL хватает.

Автор: powerOn 22.4.2008, 21:05
Есть XQuery, но он для XML. http://ru.wikipedia.org/wiki/XQuery


Автор: Andrey1 22.4.2008, 23:16
Цитата(powerOn @  22.4.2008,  21:05 Найти цитируемый пост)
Есть XQuery, но он для XML.

Да, XQuery - я изучил. Хороший язык (даже веду онлайн курс по языку: http://onlineuniversity.ru/ smile).  НО... где доступные и стабильные реализации XML Native DB?! ау! smile

1) Есть, конечно, Sedna и eXist (XML Native DB), но я принял решение - использовать только продукты, выпускаемые серьезными IT-компаниями, как правило...
Так что - самое реалистичное щас - база реляционная, язык продвинутый.
2) Второй вариант - автоматическая генерация веб-сервиса для реляционный базы. Вот это былы бы действительно круто, если бы производительность этого веб-сервиса была бы большой... Может такие уже есть (с возможностью чтения/изменения/загрузки)?...

Автор: ekr 23.4.2008, 00:58
Цитата(Andrey1 @  22.4.2008,  18:01 Найти цитируемый пост)
данные из огромной таблички обработать и представить в другом, более удобном и потребном виде

Надо определиться точно, в каком именно )
Для всех удобства разные )

Цитата(Andrey1 @  22.4.2008,  18:01 Найти цитируемый пост)
Но очень бы хотелось бы работать на уровне объектов:

Цитата(Andrey1 @  22.4.2008,  18:01 Найти цитируемый пост)
но есть ли какие-нибудь скриптовые возможности в Hibernate?

Для большинства ORM (начиная с entity ejb 2 и включая hibernate и JPA/entity ejb 3) есть скриптовой язык доступа - аналог SQL для реляционных структур. В случае hibernate это HQL, в случае entity ejb это EJB QL. Похоже на SQL, но работает на объектом уровне выбранного ORM.

Цитата(Andrey1 @  22.4.2008,  23:16 Найти цитируемый пост)
Второй вариант - автоматическая генерация веб-сервиса для реляционный базы. Вот это былы бы действительно круто, если бы производительность этого веб-сервиса была бы большой... Может такие уже есть (с возможностью чтения/изменения/загрузки)?...

На уровне БД эту фичу поддерживают и oracle, и MS SQL последний.
На уровне сервера приложений можно взять и обернуть entity ejb веб-сервисом - это делается просто, средствами стандарта j2ee.
А вообще, создание CRUD-веб-сервисов поверх БД - штука распространенная и множество инструментов её предлагают - тут надо смотреть на выбранный инструментарий.

Автор: Andrey1 23.4.2008, 11:04
Цитата(ekr @  23.4.2008,  00:58 Найти цитируемый пост)
Надо определиться точно, в каком именно )

Понятно в каком - в реляционной интерпретации, набор связанных табличек smile.


Цитата(ekr @  23.4.2008,  00:58 Найти цитируемый пост)
Похоже на SQL, но работает на объектом уровне выбранного ORM.

А можно ли всю обработку провести на этих языках?

Сейчас выбор способа обработки очень большой: *) Java + DAO(SQL); *) Java + JPA; *) Web-Service + XQuery; *)... ; *)... 
smile


Цитата(ekr @  23.4.2008,  00:58 Найти цитируемый пост)
На уровне БД эту фичу поддерживают и oracle, и MS SQL последний.

Да, только не хотелось бы привыкать к таким коммерческим решениям smile. А стандарта для таких решений, насколько я понимаю, пока нет (есть XQJ, это для стыковки с Java).

Цитата(ekr @  23.4.2008,  00:58 Найти цитируемый пост)
На уровне сервера приложений можно взять и обернуть entity ejb веб-сервисом - это делается просто, средствами стандарта j2ee.
А вообще, создание CRUD-веб-сервисов поверх БД - штука распространенная и множество инструментов её предлагают - тут надо смотреть на выбранный инструментарий. 

А вот это - и вправду интересно. Где бы надыбать полезных ссылок smile ...

Автор: ekr 23.4.2008, 11:21
Цитата(Andrey1 @  23.4.2008,  11:04 Найти цитируемый пост)
Понятно в каком - в реляционной интерпретации, набор связанных табличек smile.

Ну мало ли... Мне, например, соседи посылают в голову атомные лучи, поэтому хочу базу видеть как незамкнутое полукольцо )))

Цитата(Andrey1 @  23.4.2008,  11:04 Найти цитируемый пост)
А можно ли всю обработку провести на этих языках?

А можно ли всю работу с БД на SQL реализовать? )))
Можно. Могут возникнуть проблемы с конкретными реализациями ORM, поэтому часто возникает желание бизнес-логику вынести из ORM-specific-QL в java-код или native-SQL. Зачастую и то, и то возможно.

Цитата(Andrey1 @  23.4.2008,  11:04 Найти цитируемый пост)
Да, только не хотелось бы привыкать к таким коммерческим решениям 

Но, с другой стороны, 
Цитата(Andrey1 @  22.4.2008,  23:16 Найти цитируемый пост)
если бы производительность этого веб-сервиса была бы большой

Приходится выбирать...

Цитата(Andrey1 @  23.4.2008,  11:04 Найти цитируемый пост)
Где бы надыбать полезных ссылок smile ...

Это про j2ee или инструменты? )

Автор: Andrey1 23.4.2008, 13:34
Цитата(ekr @  23.4.2008,  11:21 Найти цитируемый пост)
Это про j2ee или инструменты? ) 

Про инструменты разумеется...

Автор: Andrey1 27.4.2008, 00:10
Все таки путь обработки реляционных данные с помощью XQuery через веб-сервисы - еще не проработан smile.

Я решил использовать JPA и писать обработку на Java Script smile...

Автор: Kudzu 4.5.2008, 01:52
Цитата(Andrey1 @ 22.4.2008,  23:16)
Цитата(powerOn @  22.4.2008,  21:05 Найти цитируемый пост)
Есть XQuery, но он для XML.

Да, XQuery - я изучил. Хороший язык (даже веду онлайн курс по языку: http://onlineuniversity.ru/ smile).  НО... где доступные и стабильные реализации XML Native DB?! ау! smile

1) Есть, конечно, Sedna и eXist (XML Native DB), но я принял решение - использовать только продукты, выпускаемые серьезными IT-компаниями, как правило...
Так что - самое реалистичное щас - база реляционная, язык продвинутый.
2) Второй вариант - автоматическая генерация веб-сервиса для реляционный базы. Вот это былы бы действительно круто, если бы производительность этого веб-сервиса была бы большой... Может такие уже есть (с возможностью чтения/изменения/загрузки)?...

Ну а как насчет DB2 9 версии? Неочень стабильно, но всё же.

Автор: makados 4.5.2008, 02:26
Цитата(Andrey1 @  22.4.2008,  21:16 Найти цитируемый пост)
2) Второй вариант - автоматическая генерация веб-сервиса для реляционный базы. Вот это былы бы действительно круто, если бы производительность этого веб-сервиса была бы большой... Может такие уже есть (с возможностью чтения/изменения/загрузки)?...


есть еще продукт BEA AquaLogic DSP. Создаются веб-сервисы на основе различных датасорсов с использованием XQuery. Но, как, наверное, и все их продукты, есть свои приколы smile.

Автор: Platon 4.5.2008, 07:13
Товарищ недавно подкинул пищу для размышления. http://www.db4o.com/ Заинтересовало, для мини проектов буду использовать.

Автор: Andrey1 4.5.2008, 09:33
Цитата(Platon @  4.5.2008,  07:13 Найти цитируемый пост)
Заинтересовало, для мини проектов буду использовать. 

Для мини-проектов - Sedna XML Native DB годится на все 100% smile.

Добавлено через 4 минуты и 2 секунды
Цитата(makados @  4.5.2008,  02:26 Найти цитируемый пост)
есть еще продукт BEA AquaLogic DSP. Создаются веб-сервисы на основе различных датасорсов с использованием XQuery.

У DataDirect есть решения для доступа к реляционным данным через XQuery и сохранение  - опять в реляционной, но такое решение - коммерческое.

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)