|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Добрый вечер, коллеги! Спасибо за интересные ответы, BlazkowiczВот статья. Там же ссылка на плагин, который недавно вышел. http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html Ого... выглядит очень вкусно! Установка mysql и настройка усложняется, правда, но результат выглядит впечатляюще... Спасибо, посмотрю. PSV100, Voldemort тестировал не я, а коллеги и оный был признан как тормознутая надстройка над leveldb. Я им доверяю, так что пока тестировать не буду. Насчёт JDBM2 спасибо, посмотрю, хотя не сейчас, потому как сервера с ним всё-равно нет, а если его писать, то неважно для какой базы. Насчёт orient - да, использовать в production я бы его не стал... но об этом ниже. Tarantool - всё-таки совсем не то, что нужно. Это именно продакшн база, а не небольшое k-v решение, которое мне нужно. Впрочем для общего развития поковыряться интересно)) Valery Shiskin, Вот это да... я про эту базу от оракла не знал... Если она по скорости будет нормальной, то это ж то что надо! Правда я вот не понял, а что у неё с лицензией? Оракл - это всё-таки очень уж коммерческая организация и я не уверен, что они прямо так уж отдали, даже community edition. Мельком почитал про Lift framework, это имеется в виду web framework? Коллеги, по всем вопросам: 1) попробовал orientdb утром еще помучать запросами. Напомню: в базе на данный момент 44 млн строк. Оказалось, что строки clusterPosition от 0 до определённого nnn он нормально выдаёт, а вот после определённого, он уже уходит в вечный цикл. То есть повторяется история с sql,java запросами, которые также не работают. Похоже какая-то проблема с индексом. Единственный способ получить записи - идти итеративно по всей базе)) Итог: действительно глючно и бажно, у меня всё внутри испытывает тревогу по поводу этой базы в продакшене. Поковыряю исходники, потому что здравые идеи там есть, но использовать не буду. 2) Почему не SQL? Потому что да, Mysql прикольный. У нас в продакшене сейчас используется mysql для базы в 400 млн строк на одной ноде, а тестировался он с 2.5 млрд строк на одной ноде и даже с order by по формуле он вёл себя весьма и весьма прилично, по нашим меркам, то есть запрос в пределах 120милисекунд. Это лучше и по памяти оперативной, локальной и по скорости, чем сортировка на клиенте. Но если использовать его как nosql, с большой конкурентностью и без ухищрений, которые расписаны в статье, которую показал Blazkowicz, то mysql гораздо медленнее, чем та же cassandra. SQL нужен для определённых задач и он может решать их очень и очень хорошо, но в моём случае это не так. Например в плане записи он ужасен. По одной записи класть в базу - гораздо медленнее nosql. Можно конечно отключить индексы и.т.д, но... зачем если есть nosql? Batch sql запросы сильно расходны, когда речь заходит о записях в десятки тысяч за секунду. String объект с sql весит по 300 килобайт(!!), его приходится кэшировать во избежание утечек памяти, при этом остаются еще preparedStatements, которые также, естественно, вызывают проблемы. Когда как cassandra справляется с такими объёмами на раз и при высокой конкурентности, это несмотря на очень удобную многомерную структуру и практически полное отсутствие предварительных настроек. В конце концов schemaless структуры данных - это очень удобно. Я не говорю, что "nosql - это круче sql и все должны его использовать". Sql, nosql базы - это всего лишь инструменты, которые решают свои задачи. И я использую в работе как cassandra,hypertable,mongodb, так и mysql, было время - и на pl/sql кодил))) Так что никаких холиваров я не развязываю. 3) подумываю заюзать netty.io , кто-нибудь уже использовал? Как ощущения? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 00:02 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Valery ShiskinАлексейС, Мы все почему-то забыли об Oracle key/value NoSQL. о, так им же принадлежит embed innodb и ее java-отображение - g414-inno. но это для редких приложений, где требуется минимизировать расходы на межпроцессный обмен. не слышал чтобы кто-то использовал, но оно есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 00:07 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейС, у вас высокие требования по скорости сразу к записи и чтению? Т.к. часто базы бьют на OLAP\OLTP по назначению. Т.к. трудно оптимизировать треугольник Транзакции ---Чтение --Запись сразу по всем направлениям. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 00:12 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
netwindо, так им же принадлежит embed innodb и ее java-отображение - g414-inno. но это для редких приложений, где требуется минимизировать расходы на межпроцессный обмен. не слышал чтобы кто-то использовал, но оно есть. Любопытно, они уже столько баз/движков понаписали, но всё не уймутся))) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 00:27 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Petro123АлексейС, у вас высокие требования по скорости сразу к записи и чтению? Т.к. часто базы бьют на OLAP\OLTP по назначению. Т.к. трудно оптимизировать треугольник Транзакции ---Чтение --Запись сразу по всем направлениям. Да. И к оперативной памяти тоже требования, потому как база в 1 млрд строк, это 8гб только одних ключей в чистом виде, без расходов на хранение, если речь о key value. А 1 млрд - мягко говоря не предел. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 00:30 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейСnetwindо, так им же принадлежит embed innodb и ее java-отображение - g414-inno. но это для редких приложений, где требуется минимизировать расходы на межпроцессный обмен. не слышал чтобы кто-то использовал, но оно есть. Любопытно, они уже столько баз/движков понаписали, но всё не уймутся))) конкретно innodb они купили чтобы попугать сообщество mysql. с тех пор mysql регулярно хоронят. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 00:48 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейС1) попробовал orientdb утром еще помучать запросами. Напомню: в базе на данный момент 44 млн строк. Оказалось, что строки clusterPosition от 0 до определённого nnn он нормально выдаёт, а вот после определённого, он уже уходит в вечный цикл. То есть повторяется история с sql,java запросами, которые также не работают. Похоже какая-то проблема с индексом. Единственный способ получить записи - идти итеративно по всей базе)) Итог: действительно глючно и бажно, у меня всё внутри испытывает тревогу по поводу этой базы в продакшене. Поковыряю исходники, потому что здравые идеи там есть, но использовать не буду. В том и дело, что здравых идей там много, особенно ещё в планах, но будет ли всё реализовано - очень стрёмно. В этом конкретном случае, скорее всего, база уже всё-таки поломана. А выяснить всё, проверить, починить и пр. - похоже фиг получится, ибо нет ещё инструментария. Я из-за глюков так и не смог ее толком погонять. В проект тащить не решился, даже хотел только фактически для эксперимента на будущее, т.к. проект позволял и потерю данных (данные закачивались внешне), но времени на игрушки не было. АлексейСВот это да... я про эту базу от оракла не знал... Если она по скорости будет нормальной, то это ж то что надо! Правда я вот не понял, а что у неё с лицензией? Оракл - это всё-таки очень уж коммерческая организация и я не уверен, что они прямо так уж отдали, даже community edition. Имхо, очень стрёмная вещь. Оракл кроме своей основной базы, на которой и выехал, толком больше ничего не разрабатывал, всё остальное скупалось вместе с потрохами. У меня сложилось неоднозначное впечатление об оракловских продуктах. Если корпоративной палкой не нагибают под оракл, то многие стараются держатся подальше от него. В этой базе внутри беркли. О ней немало хреновых отзывов. Вот например из последних. Оракл сейчас пытается своей жопой накрыть все стулья, даже свою версию хадупа предлагает. АлексейСVoldemort тестировал не я, а коллеги и оный был признан как тормознутая надстройка над leveldb. Я им доверяю, так что пока тестировать не буду. Насчёт JDBM2 спасибо, посмотрю, хотя не сейчас, потому как сервера с ним всё-равно нет, а если его писать, то неважно для какой базы. Насчёт orient - да, использовать в production я бы его не стал... но об этом ниже. Tarantool - всё-таки совсем не то, что нужно. Это именно продакшн база, а не небольшое k-v решение, которое мне нужно. Впрочем для общего развития поковыряться интересно)) Я так понимаю, что требования или желания для проекта серьёзные. Такие конторы как mail.ru или яндекс прошли путь от многих sql-баз, включая и оракл с его рак-ом и всякими TimesTen, до вывода о том, что с оперативными данными вынуждены работать только в ОЗУ. Поэтому вынуждены велосипедить, как с Tarantool-ом. Так что, весьма рекомендую оценить такой подход. По поводу Voldemort. Вы уверены, что он тестировался именно с leveldb? По умолчанию вроде он работает поверх беркли, альтернатива у них какой-то Krati, что фактически та же беркли, но не на деревьях, а на хэшах. Вроде есть какой-то эксперимент поверх leveldb, но на оригинале от гугла, т.е. не жабский порт. К тому же, как я понял, основная цель там в использовании leveldb - это задействование его snapy-сжатия, что естественно снижает скорость. Имхо, странно, что Voldemort признан тормозным, при этом нравится, как работает Cassandra. Кстати, имхо, судьба касандры сейчас под большим вопросом, когда фейсбук на неё фактически положил свой болт. Сейчас, похоже, всякие "фейсбуки" вдарились в хадуп - то ещё счастье, как по мне, и слава Богу, что меня пока пронесло с ним связываться. Так вот, повторюсь, что, если я не ошибаюсь, то в "одноклассниках" используется Voldemort в паре с тарантулом - т.е., если бы он был проблемным местом, то профита от использования базы в ОЗУ не было бы. Сейчас, скорее всего, распределенность не нужна, но вдруг потом понадобится? Имхо, если не получится прикрутить Voldemort, то готовое решение навряд ли найдется. И неплохо, имхо, оценить JDBM2 - чем проще, тем надёжнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 02:52 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейС 3) подумываю заюзать netty.io , кто-нибудь уже использовал? Как ощущения? Обертка над nio (в свое время была еще apache mina, но она все, причем вроде и netty, и mina-у писал один и тот же человек). Вполне себе жива и используется множеством java middleware т.е. production ready, используется для нужд топ интернет проектами по нагрузке уже давно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 10:11 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейСPetro123АлексейС, у вас высокие требования по скорости сразу к записи и чтению? Т.к. часто базы бьют на OLAP\OLTP по назначению. Т.к. трудно оптимизировать треугольник Транзакции ---Чтение --Запись сразу по всем направлениям. Да. И к оперативной памяти тоже требования, потому как база в 1 млрд строк, это 8гб только одних ключей в чистом виде, без расходов на хранение, если речь о key value. А 1 млрд - мягко говоря не предел. какой смысл 1 млрд ключей держать в 1 корзине (СУБД)? И всё таки, для каких целей нужен справочник на млрд. записей? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 10:17 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Алексей, по поводу своей возни с orientdb отпишитесь на ее местном форуме. Вроде там ее авторы оперативно реагируют, честно говорят о проблемах, может что-то толковое всплывет. P.S. С миллиардами записей, имхо, без горизонтального распределения по нодам уже не обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 11:20 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
PSV100, Да, база поломана и выяснять я даже не собираюсь... Всё-таки одно дело, когда бд много жрёт, а другое - когда сама по себе ломается. БерклиДБ использовалась у нас предыдущей командой, 3 года назад и тогда это была лучшая k-v база. Более того, по тестам этой команды, накладные расходы БерклиДБ были настолько низкими, что препятствием становилась уже только скорость винча. Правда о квалификации этой команды я ничего не знаю. Voldemort тестировали именно с leveldb и накладные расходы были признаны существенными. Я потом узнаю подробности тестирования, но пока не до того на работе. Оракл, на мой взгляд, вещь - незаменимая для бизнеса и держаться от него подальше можно только в одном случае - если мало денег. Ну или если sql мешает, опять же. Он обладает рядом исключительно важных характеристик и средств, к тому же его платная поддержка позволяет реально быстро исправлять что угодно, они очень заботятся о своих клиентах, а для бизнеса это важно. Что касается хранилищ, которые хранят данные в памяти: это хорошо, когда оперативной памяти на серверах по 128 гб или данных немного. А у нас проектов много... и каждый жрёт, реально жрёт. Кассандра на мой взгляд рулит. Она неубиваемая, быстрая, легко масштабируется. Есть недостатки, такие как например потребление heap (решается JNA) и накладные расходы на хранение на диске высокие. То что фэйсбук от неё отказался - не важно, скорее всего просто не нашли для неё применения. А вот одноклассники, те же, нашли. Они используют cassandra для рейтингов. schwa, Спасибо за отзыв! Petro123, Суть же не в ключах, у нас многобайтовый value(16 - минимум, для mysql - 24 байта, потом будет - 176 байт), который надо выдирать. Это индекс данных, где нам его еще хранить, если не в базе? Нам нужен очень быстрый поиск по этим данным. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 11:27 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейСPetro123, Суть же не в ключах, у нас многобайтовый value(16 - минимум, для mysql - 24 байта, потом будет - 176 байт), который надо выдирать. Это индекс данных, где нам его еще хранить, если не в базе? Нам нужен очень быстрый поиск по этим данным. мы уже 3 термина привели одного и того же - ключи\индекс данных\справочник. Вопрос для чего? Пример _использования_ по бизнес-логике привести можно? Тебе уже 3 раза сказали, что твоя задача тут не частая :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 11:34 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
PSV100, Насчёт ориента - напишу, надо им сообщить, вы правы. Проблема в том, что чтобы горизонтально всё отмасштабировать, нужен такой большой парк серверов, что сказать страшно. У нас проектов много и для каждого своя большая база. Petro123, Допустим в базе 1 млрд строк. В качестве id выступает инкрементный long, гарантированно уникальный. Приходит пользователь и заносит в систему свои данные, они обрабатываются и на основе этих данных делается выборка по n ключей. Выбирается, допустим, тысяча, с ними производятся мат. вычисления с целью наиболее удачные данные расположить вначале, а неподходящие в конце. В некоторых случаях возможна простая сортировка по value. Если данных не выбирается достаточное количество, то производится еще n запросов, n<5. При этом данные могут в любой момент дополняться, примерная минимально-необходимая скорость около десяти тысяч строк в секунду. Для оптимальной загрузки по оп скорость должна быть около 40ка тысяч строк в секунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 12:01 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейС, Криво написал. Пусть количество запросов будет k, k<5. А вот n - может быть больше 500. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 12:05 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Petro123Вопрос для чего? Пример _использования_ по бизнес-логике привести можно? Тебе уже 3 раза сказали, что твоя задача тут не частая :) Когда данные слабо связаны, но хорошо сегментированы. Например как в соц сети - есть один юзер и у него куча персональных данных. Выборки из списка юзеров особо не нужны. Поэтому все данные одного юзера легко изымаются из хранилища только поиском по ID. В нормализованой RDBMS это вылилось бы в кучу джоинов и, соответсвенно, сканированию кучи индексов. Денормализация БД это известный способ повышения производительности. NoSQL хранилище это следующий шаг в денормализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 12:10 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
BlazkowiczКогда данные слабо связаны, но хорошо сегментированы. Например как в соц сети - есть один юзер и у него куча персональных данных. Выборки из списка юзеров особо не нужны. Поэтому все данные одного юзера легко изымаются из хранилища только поиском по ID. В нормализованой RDBMS это вылилось бы в кучу джоинов и, соответсвенно, сканированию кучи индексов. Денормализация БД это известный способ повышения производительности. NoSQL хранилище это следующий шаг в денормализации. Вот, коротко и чётко, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 12:12 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Blazkowicz, OK спс. PS архитектуры - В контакте\ Facebook\ MySpase http://vazelin.org.ua/archives/511/ http://www.insight-it.ru/masshtabiruemost/arkhitektura-facebook/ http://www.insight-it.ru/masshtabiruemost/arkhitektura-myspace/ ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 12:49 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
BlazkowiczPetro123Вопрос для чего? Пример _использования_ по бизнес-логике привести можно? Тебе уже 3 раза сказали, что твоя задача тут не частая :) Когда данные слабо связаны, но хорошо сегментированы. Например как в соц сети - есть один юзер и у него куча персональных данных. Выборки из списка юзеров особо не нужны. Поэтому все данные одного юзера легко изымаются из хранилища только поиском по ID. В нормализованой RDBMS это вылилось бы в кучу джоинов и, соответсвенно, сканированию кучи индексов. Денормализация БД это известный способ повышения производительности. NoSQL хранилище это следующий шаг в денормализации. денормализованные базы это прежде всего отказ от целостности и контроля. Ни бухгалтерию ни склад ни банковский учёт на всех этих кей-валуе из 70-х годов написать нельзя. Фейсбук или твиттер можно т.к. там пропажа части данных никого не тронет, пропало и фик с ними. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 15:56 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Добрый день, 1024! > денормализованные базы это прежде всего отказ от целостности и контроля. Полностью нормализованная БД это миф. Нагруженные приложения работать на нём не будут. Подумай, например, над версиями сущности. Нормализованная структура может содержать только дату начала действия версии. А рабочая- ещё и дату окончания ;) > Ни бухгалтерию ни склад ни банковский учёт на всех этих кей-валуе из > 70-х годов написать нельзя. Фейсбук или твиттер можно т.к. там пропажа > части данных никого не тронет, пропало и фик с ними. Ничего там не пропадает. Просто когда поиск нужен только по первичному ключу- быстрее работает NoSQL. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 16:00 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
GKS_SamaraДобрый день, 1024! > денормализованные базы это прежде всего отказ от целостности и контроля. Полностью нормализованная БД это миф. Нагруженные приложения работать на нём не будут. Подумай, например, над версиями сущности. Нормализованная структура может содержать только дату начала действия версии. А рабочая- ещё и дату окончания ;) > Ни бухгалтерию ни склад ни банковский учёт на всех этих кей-валуе из > 70-х годов написать нельзя. Фейсбук или твиттер можно т.к. там пропажа > части данных никого не тронет, пропало и фик с ними. Ничего там не пропадает. Просто когда поиск нужен только по первичному ключу- быстрее работает NoSQL. -- Алексей JID: alxt@ya.ru любая информационная система это определённый уровень абстракции отражающий реальность. Скажем, для работы склада неважен цвет яблок. Важен только сорт и размер тары. Значит в складской учётной системе он будет отсутствовать, хотя и может иметь какое-то значение в других областях (для конечных покупателей в магазине, скажем). Нормализация базы это свод правил организации данных. К конкретной предметной области эти правила не имеют отношения, они едины для всех. Такчт ты путаешь мягкое с тёплым. авторНичего там не пропадает. Просто когда поиск нужен только по первичному ключу- быстрее работает NoSQL. поиск не просто медленный, он фактически невозможен при любом отклонении от структуры этой псевдо-бд на ключах. Например нельзя выполнить элементарный запрос типа "средний размер загруженных фоток пользователей женского пола и возрастом 20-30 лет". Все данные для этого запроса есть а посчитать можно только перебором что неприемлимо по скорости. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 16:19 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
GKS_Samara, версия сущности в продакшене, это тоже миф (вспомни Pilot911) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 16:20 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
АлексейСPSV100, Насчёт ориента - напишу, надо им сообщить, вы правы. Проблема в том, что чтобы горизонтально всё отмасштабировать, нужен такой большой парк серверов, что сказать страшно. У нас проектов много и для каждого своя большая база. Petro123, Допустим в базе 1 млрд строк. В качестве id выступает инкрементный long, гарантированно уникальный. Приходит пользователь и заносит в систему свои данные, они обрабатываются и на основе этих данных делается выборка по n ключей. Выбирается, допустим, тысяча, с ними производятся мат. вычисления с целью наиболее удачные данные расположить вначале, а неподходящие в конце. В некоторых случаях возможна простая сортировка по value. Если данных не выбирается достаточное количество, то производится еще n запросов, n<5. При этом данные могут в любой момент дополняться, примерная минимально-необходимая скорость около десяти тысяч строк в секунду. Для оптимальной загрузки по оп скорость должна быть около 40ка тысяч строк в секунду. По поводу ориента, уже очевидно, что налягать на него не стоит. Ребята из TrackStudio намекали, что их доставала поломка баз. Я надеялся, что ситуация уже существенно продвинулась, но похоже, ещё не судьба. Если при наличии времени пообщаетесь с разработчиками, то, имхо, польза будет. Просто по-человечески очень жалко, если такой проект не взлетит, таких вещей очень мало в реальной жизни. А, судя по описанной ситуации, можно только посочувствовать, ибо, скорее всего, придётся конкретно велосипедить. Voldemort, похоже, не спасёт. Также как и оракловская база. Всё-таки их основной функционал - распределялка по нодам. С базами получается такая картина: - беркли-дб, как самая распространенная штуковина, с поддержкой, с информацией, которую можно откопать по разным местам; - jdbm - вроде как более лучшая замена для беркли (так говорят ее авторы), как минимум, в отличие от беркли, там кроме деревьев есть и хеш-таблицы. Пока здесь гуру лучше не предложили. Жабская leveldb - пока вроде официально ещё не релиз, и очень слабо распространена, имхо, гонять ее тоже нужно хорошенько. Вам сейчас виднее. Еще вспоминается такой толковый товарищ как Константин Книжник. В своё время он накатал кучу всяких баз под разные платформы, что-то перешло в коммерцию под маркой mcobject. Может есть смысл глянуть туда. Также полно всяких neo4j, db4o и пр. и т.д. Перепробовать всё - не хватит времени, к тому же это будет такая экзотика, что ни инфы толковой не будет, не людей не найти, кто собак с ними наелся. По поводу netty. На глаза попадается немало инфы об успешном использовании. Вот здесь есть маленькое сравнение с mina, но имхо очень по делу. Также сейчас многие хвалят ZeroMQ, но под жабой вроде только обвертка для нативного кода, имхо, есть смысл связываться, если нужно взаимодействие с другими нежабскими системами. Также рекомендую глянуть на фреймворк Disruptor, может полезных мыслей добавит. Вот здесь товарищ его хорошенько разложил (но, на всякий случай, вроде сейчас не все хаки работают под седьмой жабой). В общем, когда познаете нирвану, обязательно поделитесь своим мнением. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 16:38 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Добрый день, Petro123! > версия сущности в продакшене, это тоже миф (вспомни Pilot911) Не знаю, что за Пилот911... Но версии в продакшене это не миф, если операции постоянно проводятся как задним, так и передним числом (требование бизнеса, никуда не деться). Каждый день с этим работаю. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 16:52 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
PSV100, Я скачал Oracle NoSql. Там и документация и исходники. jar-файлы тянут совсем немного. Мне кажется, что АлексеюС следует на нее посмотреть. В прочем, достаточно почитать ее Getting Started (небольшой). И, разумеется, очень жаль, что OrientDb не имеет достаточно большого комьюнити (пока). Посмотрим, что будет в первом релизе (планируется середина апреля). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2012, 21:33 |
|
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
|
|||
---|---|---|---|
#18+
Valery ShiskinЯ скачал Oracle NoSql. Там и документация и исходники. jar-файлы тянут совсем немного. Мне кажется, что АлексеюС следует на нее посмотреть. В прочем, достаточно почитать ее Getting Started (небольшой). Посмотреть конечно стоит. Но лично я бы с ней связываться не рискнул бы. Пока я увидел только один интересный момент в ней, который сейчас непонятный и его нужно подробно разложить по полкам - это то, как там реализуется целостность данных. База новая, оракловцы могли насмотреться на уже используемые решения, и, как я понял, им не очень нравится принцип отложенной согласованности, когда правильность данных устанавливается во время их чтения - т.е. кворум содержания данных по нескольким нодам (данные должны быть обязательно продублированы не на одной ноде), разрешение конфликтов разных версий данных и т.д., что сейчас используют во многих NoSql. Оракловцы хотят сделать упор на согласовании данных при записи, пусть даже ценой небольших задержек, но что там именно - нужно разбираться, возможно здравые техники там есть. Сейчас, как пример, тот же гугл тоже у себя пытается применять транзакционную целостность (судя по разной доступной инфе в инете). А так, базу пока толком мало кто использует, она гвоздями прибита к беркли, которая имеет неоднозначную славу. К тому же, Алексею вроде распределение по нодам не нужно. Хотя, задача подробно не описана, неясен момент, как обеспечивается сохранность данных. Возможно, оперативные данные держатся в MySQL и там организовывается резервное копирование. А может, как раз и не помешало бы дублирование данных по нодам, в этом случае вполне можно смотреть на оракл и вольдеморт. В идеале, если Алексей реализовал бы свой сервер/фреймворк, без привязки к конкретной СУБД (но с первой версией - jdbm), где транспортный уровень поверх netty, внутренняя архитектура в стиле Disruptor-а (я смотрю, что сейчас реализация многопоточности поверх очередей становится модным трэндом вместо акторов в стиле эрланга), да поделился бы с общественностью, то эх... ;) Valery ShiskinИ, разумеется, очень жаль, что OrientDb не имеет достаточно большого комьюнити (пока). Посмотрим, что будет в первом релизе (планируется середина апреля). В OrientDb пока одни разочарования. Релиз планировался ещё в прошлом году, а для реальной эксплуатации, особенно распределенной, стоит ждать версии минимум 1.1 (там обещают реально необходимые вещи). Имхо, основная беда в том, что у разработчиков нет своих задач, где ее они сами уже использовали бы. Ту же jdbm, как я понял, разработали для внутренних нужд (как встраиваемое решение для больших и быстрых баз в астрономической отрасли) и потом поделились с обществом. Сейчас самое "массовое" использование OrientDb - это некий TinkerPop, система для анализа данных на основе графовых баз со своим язычком для граф-запросов. Ни на сверх-огромные массивы данных, ни на массовую нагрузку эта система вроде не расчитана. Авторы OrientDb пытаются построить бизнес именно на самой СУБД. До этой базы они занимались немало времени другими какими-то объектными базами, нащупали какой-то эффективный алгоритм деревьев и решили податься с ним на жабу-платформу. И их шоу-замашки действительно портят картину. Здесь на форуме "Йуный джавистЪ" постебался над ней, это конечно не оценка продукта, но доля правды в этом есть. Вот недавно они публиковали презентацию, где рассказывали, что собираются заменить master-slave репликацию на master-master (что очень хорошо) - но это сплошное шоу, а не техническое описание, что нужно реально для пользователей продукта. Одним словом, жаль, что за спиной продукта нет какого-нибудь "фейсбука", кто пилил бы базу, прежде всего, для своих потребностей, толку было бы больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2012, 03:26 |
|
|
start [/forum/topic.php?fid=59&msg=37695080&tid=2121648]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 496ms |
0 / 0 |