|
|
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
Есть необходимость хранения информации с максимально быстрым поиском в формате: ключ-значение. Ключ - строка значение - объект. Думаю, что максимально быстрый поиск обеспечит БД развернутая в памяти, но нужно чтобы в случае выключения компа - инфа сохранялась на диске и при включении опять разворачивалась в ОЗУ для быстрого доступа. Посоветуйте технологию, с помощью которой можно реализовать такие требования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 16:23 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 17:03 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
имхо, тут много нюансов: 1. Каков объем базы? 2. Поддержка key-value является достаточным условием или для остальных задач нужна честная RDBMS? 3. Транзакции, ACID? 4. Сколько денег готовы отдать за лицензии на софт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 17:25 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
just_vladimirимхо, тут много нюансов: 1. Каков объем базы? 2. Поддержка key-value является достаточным условием или для остальных задач нужна честная RDBMS? 3. Транзакции, ACID? 4. Сколько денег готовы отдать за лицензии на софт? 1. Сейчас объем небольшой, около 2-3 тыс. ключей, но хотелось бы отработать технологию и для больших объемов. 2. Лучше бы все таки честная БД, чтобы потом ее можно было юзать и для больших структур, чем ключ-значения, хотя интересны и технологии, чисто для ключ-значения, чтобы понимать куда копать в случае если задача минимальна. 3. Это уже для БД. 4. Лучше Open Source. Вообще интересно понимание технологий по 2-м направлениям: - система, позволяющая развертывать в памяти и сохранять на диск простые структуры, типа key-value - полноценные реляционные СУБД, позволяющие по требованию, 1-2 таблицы разворачивать в памяти по необходимости. Сейчас вот смотрю memcache - для первого случая, может для java есть что-то более интересней? Для второго - нашел инфу в инете по СУБД H2 и HSQLDB, пытаюсь понять могут ли они удовлетворить. Прошу совета у опытных разработчиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 19:39 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 19:42 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
Действительно, задача поставлено в слишком общем виде, никаких конкретных рекомендаций давать категорически нельзя. В качестве отправной точки рекомендую вам посмотреть на следующие вещи: 1) Банальное кэширование. Классический представитель: memcached. Вытащили что-то из базы, запихнули в кэш. Второй раз в базу уже не лезете, а берете значение из кэша. 2) Профессиональные data-grid решения: Gigaspaces XAP, Terracota, GridGain, GemFire ... тысячи их. Там у вас полноценные транзакционные кэши, кластеризация, партишнинг, фаиловер, и т.д. и т.п. Некоторые из этих решений даже JDBC поддерживают Но для того, что бы их использовать, готовьте десятки и сотни тысяч долларов. 3) In-memory базы данных. Типичный представитель - MongoDB, данные мапятся в память, в бэкграунде синхронизирутся с диском. От этого и отталкивайтесь в своих поисках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 19:42 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
alex2808Для второго - нашел инфу в инете по СУБД H2 и HSQLDB, пытаюсь понять могут ли они удовлетворить.Посмотрите обязательно но Mongo. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 19:43 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
alex2808- система, позволяющая развертывать в памяти и сохранять на диск простые структуры, типа key-value Если обязательно в памяти, то из key-value это memcache или redis, если за денежку, то Oracle Coherence. Но думаю вам подойдут любые key-value хранилища, они хоть и хранят все на диске, но при этом весьма активно кэшируют в память, так что производительность практически не отличима, так что, как выше советовали обратите внимание на MongoDB. alex2808полноценные реляционные СУБД, позволяющие по требованию, 1-2 таблицы разворачивать в памяти по необходимости. 2-3 тыс это очень маленький объем, думаю, что даже H2 его спокойно прожует. Если интересно, то из взрослых решений можно глянуть Oracle Times Ten. Если нужно, что то по середине, чтобы по серьезней H2, но Open Source, то посмотрите на VoltDB. Имхо, не нужно вестись на тренды и гнаться за всем набором buzzwords "in-memory", "key-value" и т.д., для 2-3 тыс. объектов берете обычную RDBMS, например, PostgreSQL, железку с побольше ОЗУ и при правильных настройках все будет максимально быстро искаться, а данные будут в ОЗУ кэше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 21:08 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
DEVcoach3) In-memory базы данных. Типичный представитель - MongoDB, данные мапятся в память, в бэкграунде синхронизирутся с диском. Не обманывайте людей, Mongo не in-memory, хотя и активно использует кэширование в памяти. Если интересно, то вот тикет на реализацию поддержки in-memory режима в Mongo https://jira.mongodb.org/browse/SERVER-1153: status: Open Open Resolution: Unresolved Fix Version/s:planned but not scheduled ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 21:13 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
just_vladimir , Да, я не корректный термин использовал. In-memory - это чисто память, не персистится. Mongo, разумеется, персистится. Я имел ввиду, что штатным режимом работы Монги является ситуация, когда все данные загружены в память, и ничего не свопится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 21:42 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
DEVcoach In-memory - это чисто память, не персистится. И снова мимо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 22:55 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
just_vladimirDEVcoach In-memory - это чисто память, не персистится. И снова мимо...Ну тогда ждем ваше каноническое определение :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2013, 23:21 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
DEVcoach, на счет канонического не знаю, думаю достаточно того, которое в википедии: wikipediaAn in-memory database is a database management system that primarily relies on main memory for computer data storage ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 11:35 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
DEVcoachjust_vladimirпропущено... И снова мимо...Ну тогда ждем ваше каноническое определение :) in-memory - значит все операции чтения данных идут в памяти, без обращения к диску. Операции изменения данных могут логироваться. В некоторые моменты (простой, остановка БД) лог превращается в снимок БД. Если остановка была аварийной- при старте БД собирается по прошлому снимку и логам. В принципе могут быть "чисто im-memory" БД, которая на диск ничего не пишет, но они не проходят по начальным требованиям. Что выбирать- H2, TimesTen или ещё что-то - вопрос запросов и денег. У TimesTen, например, есть крутая фишка- БД доступна из любого приложения- можно зайти родным клиентом и посмотреть, что там в кишках и твоего приложения творится. Очень полезно для поиска ошибок при работу, к примеру. Но стоит она очень неслабо. Но любая реляционная БД будет лишней. А какие есть in-memory key-value БД я не помню... PS: При запросах топикстартера я б на JCS ещё посмотрел бы ;) Хотя не помню, на диск всё пишется, или только лишние данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 11:10 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
alex2808, А ещё есть Hazelcast можно его для надежности с Mongo соеденить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 11:55 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
alex2808, BDB уже предлагали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 15:14 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
alex2808, Вот еще, но круче: http://commons.apache.org/proper/commons-jcs/ http://www.ibm.com/developerworks/ru/library/j-jcs/ Зона на диске Зона кэширования этого типа представляет собой зону для хранения кэшированных данных на файловом диске Web-сервера. Для повышения производительности система JCS хранит ключи кэшированных данных в оперативной памяти, а сами кэшированные данные хранит на указанном файловом диске. Если в типичной конфигурации JCS (в которой в первую очередь используется зона в оперативной памяти) какие-либо данные не могут быть размещены в зоне памяти, то они записываются в дисковую зону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 15:23 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
ShSergealex2808, BDB уже предлагали?Она платная: http://www.oracle.com/technetwork/database/berkeleydb/downloads/licensing-098979.html ...the complete source code for your application must be available and freely redistributable under reasonable conditions. If you do not want to release the source code for your application, you may purchase a license from Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 15:39 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
Если нужна экстремальная производительность - то однозначно TimesTen. Все остальные скорее всего будут проигрывать в разы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2013, 10:18 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
Если нужна любая помощь с VoltDB, мы с удовольствием Вам поможем. С уважением, Команда VoltDB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2013, 01:26 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
Не совсем то что нужно, авось пригодится http://www.project-voldemort.com/voldemort/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2013, 16:44 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
alex2808- полноценные реляционные СУБД, позволяющие по требованию, 1-2 таблицы разворачивать в памяти по необходимости. Oracle, а для разворачивания таблиц в памяти у нее вроде есть дополнение TimesTen ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 15:41 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
alex2808Есть необходимость хранения информации с максимально быстрым поиском в формате: ключ-значение. Ключ - строка значение - объект. Думаю, что максимально быстрый поиск обеспечит БД развернутая в памяти, но нужно чтобы в случае выключения компа - инфа сохранялась на диске и при включении опять разворачивалась в ОЗУ для быстрого доступа. Посоветуйте технологию, с помощью которой можно реализовать такие требования?А почему не посмотреть чисто под Java созданные объектные БД типа db4o ? может как раз под ваши объемы 2000-3000 она лучше подойдет чем разные Mongo и прочие sqlite? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2013, 15:44 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
Redis Sphinx - поддерживает live index ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 22:10 |
|
||
|
Быстрый поиск инфы - БД развернутая в памяти ?
|
|||
|---|---|---|---|
|
#18+
-=*ShamaN*=-Redis Sphinx - поддерживает live index Пардон, забыл обоснования: - Redis - Sphinx вообще он для полнотекстового поиска создан был, однако в последних версиях есть "живой" индекс (модификация "на лету") + поиск по атрибутам, что дает возможность его использовать для простых табличных выборок под высокой нагрузкой. Эти сервера очень производительные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 22:20 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38377845&tid=2127198]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
197ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 542ms |

| 0 / 0 |
