|
|
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
вобщем пишу десктопное приложение под j2se, хотелось бы использовать какую-нибудь in-memory бд. начал гуглить ничего путного кроме HSQLDB найти не могу. очень интересует мнение тех людей, кто юзал этот движок. особенно в плане быстродействия, или предложите плз аналогичный _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 19:18:12 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Вместе с JDK6 идет JavaDB (Apache Derby). Там возможностей чуть побольше (триггеры там на java и т.п.), только их все равно никто не использует. А по скорости скорее всего одни и те же тормоза что и у HSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 21:17:59 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
так дерби - обычная бд просто на яве. т.е. все равно база физически на винте располагается и операции с ней там же проходят. а мне надо чтоб все это в памяти происходило. т.е. приложение запускается, создается база (в памяти на винт ниче не пишется), по ходу работы приложения, база заполняется рабочими данными, которыми я могу манипулировать обычным sql'ом, а при завершении приложения текущая база вместе с ним исчезает. вот hsqldb так может, но я думаю что не только он а еще стопудово есть какие-то дб, с которыми так можно работать... :\ _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 22:04:49 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
или дерби тоже может в памяти работать?.. _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 22:06:24 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Пока еще нет, в памяти не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 23:32:23 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Oracle Berkeley DB Product Family : The Oracle Berkeley DB family of open source, embeddable databases provides developers with fast, reliable, local persistence with zero administration. Often deployed as "edge" databases, the Oracle Berkeley DB family provides very high performance, reliability, scalability, and availability for application use cases that do not require SQL. Berkeley DB—A transactional storage engine for un-typed data in basic key/value data structures- NEW! Release 4.6 now available Berkeley DB Java Edition—A pure Java version of Berkeley DB optimized for the Java environment Berkeley DB XML—A native XML database with XQuery-based access to documents stored in containers and indexed based on their content ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 10:59:48 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
хотя если вам нужен SQL (если он вам действительно нужен ;))), то Berkeley DB вам не подойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 11:02:54 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
TiG спасибо. буду смотреть. Просто приложение в ходе работы формирует относительно большой объем данных со сложной структурой, но в реляционную модель данные отлично вписываются. их постоянно приходится обрабатывать - самые различные выборки по разным критериям, поиск, изменение, поддержка целостности и др., т.е. стандартные операции с бд - если все позасовывать как обычно в массивы, векторы, списки и пр. а потом переписывать для них кучу стандартных операций, которые уже итак реализованны и отточены в бд-движках. в итоге придется дофига писать, а выигрыша в быстродействии не будет, потому что естественно я сомневаюсь что напишу эти вещи более быстрыми чем опенсорс комьюнити разработавшая какойнибудь бд-движок конечно было бы удобно юзать привычный SQL, а не какое-то там апи. потому что в нем еще надо разбираться, наступать на новые грабли и еще выяснить обеспечит ли оно необходимую гибкость и функциональность. а с SQL'ем все как бы ясно в этом плане, приложение должно быть легко масштабируемое, впоследствии добавится внутренний скриптовый язык и хотелось бы предоставить ему возможности работы с текущей БД, опять же с сиквелом все ок будет, а вот с апи BDB уже неясно хотя конечно надо посмотреть и разобраться что оно может кстати еще SQLite в памяти может работать, только я вот понять не могу как он дружит с явой? какой драйвер бы посоветовали? есть ли вобще jdbc-драйверы для SQLite - не всякие там врапперы для native lib_sqlite, а чтобы был полностью embedded и pure-java? чтобы сам читал и писал в файлы с базой а не делал это через sqlite-овскую native-библиотеку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 14:50:15 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
если объём данных большой то зачем их обязательно держать в памяти. Они могут там просто не поместиться. Возьми обычный дерби из ждк и создавай временную базу в эмбедед режиме. От добра добра не ищут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:25:00 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
объем данных в среднем несколько мегабайт, максимум 15-20. т.е. такие объемы я вполне могу позволить себе хранить в памяти. писать базу на винте - это падение быстродействия на порядок, а то и больше. быстродействие для этого приложения очень важно. сейчас прикидываю, сможет ли база в памяти обеспечить достаточное быстродействие, а об обычной традиционной бд и говорить нечего в общем на данный момент остановился на HSQLDB все-таки _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2007, 15:11:38 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Frenzyобъем данных в среднем несколько мегабайт, максимум 15-20. т.е. такие объемы я вполне могу позволить себе хранить в памяти. писать базу на винте - это падение быстродействия на порядок, а то и больше. быстродействие для этого приложения очень важно. сейчас прикидываю, сможет ли база в памяти обеспечить достаточное быстродействие, а об обычной традиционной бд и говорить нечего в общем на данный момент остановился на HSQLDB все-таки _______________________________________ 2pro4U Как вариант можно разместить сами файлы БД на разделе размещенном в памяти. Тогда оно как-бы файлы и как бы транзакции... НО все только в памяти и быстрее ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2007, 15:48:52 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Я не думаю, что JavaDB настолько тупа, что при каждом запросе будет теребить винт. Там 100% сделана оптимизация, как наверное в любой другой БД и она будет стараться разместить в памяти как можно больше данных, по возможности все. Нужно лишь провести тестирование и убедиться в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 10:41:10 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Ответ конечно не совсем в тему, но если вы задумались о быстродействии, то смотрите в сторону создания своей собственной иерархии классов для хранения данных. Это путь наиболее предпочтителен для оптимизации по скорости и потреблению памяти. Правда придется отказаться от SQL. Но при грамотной иерархии классов производительность увеличится значительно. Свои классы и контейнеры. С уважением Vector. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 10:50:32 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
если задумываться о быстродействии то нужно задуматься о быстродействии а не домысливать невесть что. Тупо провести тест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 11:12:26 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Vector..+1 может формулировка "иерархия классов" не совсем удачная, но идею поддерживаю. кучка HashMap'ов порвут субд при таком использовании ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 12:27:35 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Hibernate в руки! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 12:34:47 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
eJackHibernate в руки! вроде сказано - persistence не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 13:22:49 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
почти со всем сказанным согласен вобще у меня получается примерно следующее бд: sql, поддержка целостности, гибкость, масштабируемость и пр., но медленнее руками: писать намного больше, причем придется дописывать различные фичи, которые сами собой получились бы, если с бд. но быстрее (и то если "грамотно" написать). вот например, нужен скриптовый язык - так есть sql, можно просто позволить юзеру помимо всего прочего выполнять sql-запросы, и убит большой и жирный заяц вобщем все конечно же решили бы тесты (чем сейчас и занимаюсь) но объективных результатов можно добиться только если вначале реализовать оба подхода, а потом сравнить на практике - а такой возможности конечно же нету (( хотя греет сердце то, что там еще помимо всего прочего на основании вагона данных будут строится 2д-чертежи (и 3d-wireframes), причем рисуется в реалтайме все и вот как раз рисовалка окажется более узким местом, чем операции с бд с памяти... вобщем помучаюсь пока, потом поделюсь результатами eJackHibernate в руки! хоть убей не понимаю, чем мне может помочь hibernate (разве что еще понизить быстродействие) :\ _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 15:29:15 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
если нужны произвольные запросы то нужен sql. хотя мне попадались две хреновины из разряда sql на javabeanах... ну и как то странно что persistence откуда такая мегапрога берёт данные Frenzy хоть убей не понимаю, чем мне может помочь hibernate (разве что еще понизить быстродействие) :\+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 15:54:57 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
expp Vector..+1 может формулировка "иерархия классов" не совсем удачная, но идею поддерживаю. кучка HashMap'ов порвут субд при таком использовании Ну-ну. Потом реализовывать хотя бы NL/HJ и иже с ними? Фтопку. В таком аспекте я просто ненавижу Map'ы. кто будет заботиться о данных? памяти? накуа фсе это? SQL рулит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 19:03:34 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Выскажу свежую идею. Вместо SQL вашим суперпродвинутым пользователям дать доступ к XPath, выражения которого вполне можно "вычислять" на произвольной иерархии классов. А в памяти базу запускают только когда нужно обрабатывать табличные данные локально, а отнудь не из-за возможности использовать SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 19:09:09 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Timm Ну-ну. Потом реализовывать хотя бы NL/HJ и иже с ними? Фтопку. В таком аспекте я просто ненавижу Map'ы. кто будет заботиться о данных? памяти? накуа фсе это? SQL рулит. Он рулит, но только не тогда, когда нужно действительно высокое быстродействие. HashMap'ы таки порвут в клочья любой SQL-движок (с теми же фичами вроде параллельного доступа к данным, транзакционности и т.д.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 19:14:29 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
" Выскажу свежую идею. Вместо SQL вашим суперпродвинутым пользователям дать доступ к XPath, выражения которого вполне можно "вычислять" на произвольной иерархии классов. " а юзер должен не только получать данные эскьюэль, а еще и изменять/добавлять их, тут уже xpath'ом просто так не отделаешься, надо будет много писать. а насчет суперпродвинутости - так если юзер захочет расширить функциональность, то требование "знание SQL для написание своих скриптов" по-моему нисколько не завышено.. тем более что он то и разрабатывался как мегопростой язык в котором сможет разобраться любой юзер... " А в памяти базу запускают только когда нужно обрабатывать табличные данные локально, а отнудь не из-за возможности использовать SQL. " я же уже вроде подробно рассказал что мне нужно обрабатывать кучу табличных данных, естественно локально.., или ты что-то другое имеешь в виду? кстати есть ли опыт использования таких бд? интересует вопрос насколько отличается произодительность (хотя бы очень приблизительно) ин-мемори бд от производительности модели на классах и векторах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 19:39:56 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Сам in-memory database не использовал, но, ИМХО, очевидно, что специализированная структура данных будет эффективней, хотя бы потому что вы сможете реализовать более тонко-гранулированную обработку транзакций (т.е. синхронизацию доступа к данным) и опять же избежите необходимости парсить и как-то обрабатывать данные. Тогда еще вариант - подумать над объектными базами данных. При грамотном применении они могут быть эффективней реляционных и опять же язык запросов есть. Под локальной обработкой я имел ввиду что-нибудь навроде скопировать данные из удаленной БД и поработать локально, отключившись от удаленной БД, потом залить изменения в удаленную БД. Т.е. ситуация, когда просто часть БД реплицируется между рабочей станцией/ноутбуком и сервером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 19:47:12 |
|
||
|
посоветуйте in-memory database engine
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог Timm Ну-ну. Потом реализовывать хотя бы NL/HJ и иже с ними? Фтопку. В таком аспекте я просто ненавижу Map'ы. кто будет заботиться о данных? памяти? накуа фсе это? SQL рулит. Он рулит, но только не тогда, когда нужно действительно высокое быстродействие. HashMap'ы таки порвут в клочья любой SQL-движок (с теми же фичами вроде параллельного доступа к данным, транзакционности и т.д.). спасибо, паржал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 22:03:53 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34889248&tid=2144257]: |
0ms |
get settings: |
15ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
39ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
76ms |
get tp. blocked users: |
3ms |
| others: | 347ms |
| total: | 537ms |

| 0 / 0 |
