powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
25 сообщений из 77, страница 1 из 4
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690474
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу тут кое-что, вот мучаюсь муками выбора нормальной k-v базы. Может быть есть у кого на примете сильный вариант?

Что попробовал:
- Kyoto Cabinet - отлично, но сетевой интерфейс - тормознутая фигня.
- LevelDb - замечательно, но сетевой интерфейс есть только в Kyoto Tycoon, Riak, и первое и второе - не подходит
- Voldemort медленный
- Cassandra, Hypertable - мои любимые по всем статьям, но из пушки по воробьям, хочу именно быстрый k-v
- Tarantool, Redis - данные надо хранить в памяти, мне это не подходит.

Итого, что хотелось бы:
1) k-v, быстро, очень быстро, чтобы запись MAX до 100 мкс на нормальной машине, чтение тоже до 100мкс, и чем меньше, тем лучше
2) хороший, быстрый, приятный в использовании сетевой java интерфейс
3) в памяти хранятся только ключи
4) простая установка

Коллеги, помогите пожалуйста, если кто в теме. Спасибо.
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690487
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

А чем классика от орасла, я имею ввиду Беркли ДБ, не подошла?
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690522
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейСПишу тут кое-что, вот мучаюсь муками выбора нормальной k-v базы. Может быть есть у кого на примете сильный вариант?

Что попробовал:
- Kyoto Cabinet - отлично, но сетевой интерфейс - тормознутая фигня.
- LevelDb - замечательно, но сетевой интерфейс есть только в Kyoto Tycoon, Riak, и первое и второе - не подходит
- Voldemort медленный
- Cassandra, Hypertable - мои любимые по всем статьям, но из пушки по воробьям, хочу именно быстрый k-v
- Tarantool, Redis - данные надо хранить в памяти, мне это не подходит.

Итого, что хотелось бы:
1) k-v, быстро, очень быстро, чтобы запись MAX до 100 мкс на нормальной машине, чтение тоже до 100мкс, и чем меньше, тем лучше
2) хороший, быстрый, приятный в использовании сетевой java интерфейс
3) в памяти хранятся только ключи
4) простая установка

Коллеги, помогите пожалуйста, если кто в теме. Спасибо.

используй лучше нормальную базу. Все эти кейВалуе это ж для тех кто не смог выучить скл, тяжёлое наследие 70-х годов, назовём вещи своими именами. Возможно, если ты делаешь новый твиттер то можно но задуматься о нестандартном. Но у тебя вряд ли это нужно.
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690577
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeАлексейС,

А чем классика от орасла, я имею ввиду Беркли ДБ, не подошла?

Проблема в том, что мне обязательно нужен сетевой интерфейс, а это всё-таки встраиваемое решение.

1024используй лучше нормальную базу. Все эти кейВалуе это ж для тех кто не смог выучить скл, тяжёлое наследие 70-х годов, назовём вещи своими именами. Возможно, если ты делаешь новый твиттер то можно но задуматься о нестандартном. Но у тебя вряд ли это нужно.

)))) Нет, у k-v всё-таки есть применение, индекс, например, для тех же "нормальных баз")

Вот и мне k-v нужен для индекса. SQL мне не нужен, мне вообще ничего от базы не нужно кроме сетевого интерфейса и k-v, где v - любая последовательность байтов.

Походу придётся писать сетевой интерфейс вокруг какой-нибудь встраиваемой бд=(
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690695
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему исключили mongodb? Долгая запись?
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690721
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvА почему исключили mongodb? Долгая запись?

Да, к сожалению. Она, конечно, очень приятная в использовании, но не подходит. Очень много возможностей, они оттягивают на себя производительность так или иначе.

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

В идеале какой-нибудь быстрый сетевой интерфейс для leveldb или kyoto cabinet. Но нету их... интерфейсов этих...

И я так понял встраиваемых бд с реально быстрыми java интерфейсами вообще нет. Странно и печально. Неужели ни у кого никогда не появилось желания использовать хотя бы berkeley db удалённо?
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690724
dominator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

Посмотрите на
http://www.couchbase.com/couchbase-server/overview
он имеет API memcached, но с персистентностью
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690853
rrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС1) k-v, быстро, очень быстро, чтобы запись MAX до 100 мкс на нормальной машине, чтение тоже до 100мкс, и чем меньше, тем лучше
3) в памяти хранятся только ключи


Не очень понял - если данные подгружаются с диска, то как же там может быть 100мкс на чтение? Что-то другое имелось в виду?
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690916
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dominatorАлексейС,

Посмотрите на
http://www.couchbase.com/couchbase-server/overview
он имеет API memcached, но с персистентностью

Не очень хочется иметь memcached фронтендом к базе, так как очень важна простая установка, желательно, чтобы это была и база и сетевой интерфейс в одном. Да и всё-равно сам couch очень уж медленный=( Совсем медленный...

rrrrrrrrНе очень понял - если данные подгружаются с диска, то как же там может быть 100мкс на чтение? Что-то другое имелось в виду?

Согласен, перестарался с требованием, я не говорю, что оно прямо совсем не должно находиться в памяти, просто эта база должна эффективно её расходовать и понимать - если я ей скажу, что она не должна вылезать за определённые рамки.

Но я уже понял, что хочу слишком многого и буду писать сетевой интерфейс к leveldb...
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690948
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

Мне просто из любопытства. Что вы вкладываете в понятие "сетевой интерфейс"?
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690953
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv,

ну, по сути это будет простенький сервер поверх leveldb(или другой k-v базы), для обращения к нему клиентов
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37690956
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друзья, спасибо за участие!
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37691317
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

Посмотрите на OrientDb. Мне было бы любопытно узнать Ваше мнение
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37691862
PSV100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлексейС,

LevelDb тестировалась под свои требования? Очень интересны ощущения от ее использования. Лично я эту либу в руках не вертел, но как-то натыкался в инете на какой-то блог (ссылки не сохранил), где LevelDb гонялась в сравнении с SQLite-ом (также, если не ошибаюсь, это обсуждалось и на оф. форуме скулайта). Всего не помню, но выводы такие: гугловский тест SQLite-а на сайте LevelDb - некорректный, в реальности по перфомансу LevelDb от sqlite ушла не далеко, а на ряде операций она хуже sqlite-а (это даже при наличии sql-слоя, также те тесты показали, что и у скулайта не всё гладко, причём не по причине sql). К тому же, как я понял, LevelDb эффективна только при маленьком размере value-части.

Valery ShiskinАлексейС,
Посмотрите на OrientDb. Мне было бы любопытно узнать Ваше мнение
Присоединяюсь к OrientDb. Я баловался с ней год назад, концептуально интересна, но показалась очень сырой, были всякие непонятные глюки. В то время поинтересовался у ребят из TrackStudio, они пытались её заюзать для своей системы - из-за глюков и поломок баз её забросили. Но вроде, судя по местному форуму, пилят ее активно, потихоньку начинают использовать, но проектов что-то не видно пока.
Кто-то OrientDb уже гонял по-серьёзному ?
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37691980
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery ShiskinАлексейС,

Посмотрите на OrientDb. Мне было бы любопытно узнать Ваше мнение

Ух, какая штука прошла мимо меня, спасибо! Потестирую, если выдержит мои тесты, то будет очень круто, конечно. По возможностям - кажется то что надо и заявляемое время доступа очень хорошее.

PSV100АлексейС,

LevelDb тестировалась под свои требования? Очень интересны ощущения от ее использования. Лично я эту либу в руках не вертел, но как-то натыкался в инете на какой-то блог (ссылки не сохранил), где LevelDb гонялась в сравнении с SQLite-ом (также, если не ошибаюсь, это обсуждалось и на оф. форуме скулайта). Всего не помню, но выводы такие: гугловский тест SQLite-а на сайте LevelDb - некорректный, в реальности по перфомансу LevelDb от sqlite ушла не далеко, а на ряде операций она хуже sqlite-а (это даже при наличии sql-слоя, также те тесты показали, что и у скулайта не всё гладко, причём не по причине sql). К тому же, как я понял, LevelDb эффективна только при маленьком размере value-части.

LevelDb понравилась тем, что вместила 1 млрд строк, при этом вела себя весьма скромно в плане памяти оперативной и локальной, правда в тот момент сравнивалась она с cassandra, которая вообще очень прожорлива. Надо будет затестить снова, но вообще очень приятная базка. У коллеги она работает в продакшене в виде кэша, но кэш тот дёргается редко, так что не сказал бы что это тест в хвост и в гриву.

Тут важно еще посчитать сколько конкурентных запросов база может переварить на большом количестве конкурентных записей и чтений и для меня это тоже очень важный параметр. Если база записывает чуть медленнее, но выдержит более высокую постоянную нагрузку, то это круче для меня
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692000
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PSV100АлексейС, К тому же, как я понял, LevelDb эффективна только при маленьком размере value-части.


Кстати да, leveldb использовалась только для небольших value.

Для крупных блобов под нагрузкой ни одна база из тестируемых не подошла
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692270
PSV100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлексейСLevelDb понравилась тем, что вместила 1 млрд строк, при этом вела себя весьма скромно в плане памяти оперативной и локальной, правда в тот момент сравнивалась она с cassandra, которая вообще очень прожорлива. Надо будет затестить снова, но вообще очень приятная базка. У коллеги она работает в продакшене в виде кэша, но кэш тот дёргается редко, так что не сказал бы что это тест в хвост и в гриву.

Тут важно еще посчитать сколько конкурентных запросов база может переварить на большом количестве конкурентных записей и чтений и для меня это тоже очень важный параметр. Если база записывает чуть медленнее, но выдержит более высокую постоянную нагрузку, то это круче для меня
Как я понимаю, конкурентность запросов к базе перекладывается на плечи своего "сервера". Если я не ошибаюсь, leveldb фактически однопоточная штука для контроля действий в своём приложении (т.е. один поток как минимум при записе, иногда создаются служебные вспомогательные потоки, например, при перекомпоновке файлов). Имхо, с leveldb нужно очень осторожно смотреть на конкуренцию. Я cassandr-у тоже не юзал, но на глаза попадались отзывы о том, что при интенсивной нагрузке возня с перекомпоновкой данных по уровням (файлам), как и у leveldb, ощутимо сказывается на производительности.
Как дела у OrientDB с сетевым стеком - я уже не помню, но мне показалось, что её родной сервер - фактически учебный пример. Для своего приложения над конкурентностью нужно хорошенько кумекать под свои задачи.

АлексейС, если погоняете leveldb и OrientDB - плиз, поделитесь своими выводами.

P.S. На всякий случай: здесь есть JNI-интерфейс для leveldb, здесь какой-то любительский порт leveldb на чистую жабу (сам ничего не использовал).
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692301
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PSV100Как я понимаю, конкурентность запросов к базе перекладывается на плечи своего "сервера". Если я не ошибаюсь, leveldb фактически однопоточная штука для контроля действий в своём приложении (т.е. один поток как минимум при записе, иногда создаются служебные вспомогательные потоки, например, при перекомпоновке файлов). Имхо, с leveldb нужно очень осторожно смотреть на конкуренцию. Я cassandr-у тоже не юзал, но на глаза попадались отзывы о том, что при интенсивной нагрузке возня с перекомпоновкой данных по уровням (файлам), как и у leveldb, ощутимо сказывается на производительности.
Как дела у OrientDB с сетевым стеком - я уже не помню, но мне показалось, что её родной сервер - фактически учебный пример. Для своего приложения над конкурентностью нужно хорошенько кумекать под свои задачи.

АлексейС, если погоняете leveldb и OrientDB - плиз, поделитесь своими выводами.

P.S. На всякий случай: здесь есть JNI-интерфейс для leveldb, здесь какой-то любительский порт leveldb на чистую жабу (сам ничего не использовал).

LevelDb у нас на индексации данных работала на 16ти потоках, это при очень интенсивной записи, причём это была её java версия. Но она как-то была принята в использование де-факто, без особого тестирования... и вот как-то угадалось)))

Cassandra у меня на тестах валилась под нагрузкой 600-700 одновременных коннектов к базе. Это количество записей и чтений в один момент времени через thrift. И вообще эта база - моя любимая. Но не без изъянов, конечно. Как и все базы.....
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692316
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

Кстати 600-700 - это еще зависит от типа нагрузки и от многих факторов, у меня было до 3000 потоков-чтений в пике, когда я совсем жёстко убивал...
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692328
PSV100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлексейСLevelDb у нас на индексации данных работала на 16ти потоках, это при очень интенсивной записи, причём это была её java версия. Но она как-то была принята в использование де-факто, без особого тестирования... и вот как-то угадалось)))

Cassandra у меня на тестах валилась под нагрузкой 600-700 одновременных коннектов к базе. Это количество записей и чтений в один момент времени через thrift. И вообще эта база - моя любимая. Но не без изъянов, конечно. Как и все базы.....
А java-версия leveldb - это тот порт, который я указал, или есть какая-то разработка от самого гугла ?

P.S. Имхо, OrientDB - неплохая альтернатива, выглядит очень привлекательно. Раньше с надёжностью было тяжко, сейчас может уже получше. Пилят ее мало народу (в основном, ее автор), но с прицелом на коммерческую поддержку, уже какую-то контору создают для всяких "облачных полётов" на её основе. Так что, имхо, до юзабельного состояния должны уже довести, вроде близок релиз первой версии.
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692348
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PSV100А java-версия leveldb - это тот порт, который я указал, или есть какая-то разработка от самого гугла ?

P.S. Имхо, OrientDB - неплохая альтернатива, выглядит очень привлекательно. Раньше с надёжностью было тяжко, сейчас может уже получше. Пилят ее мало народу (в основном, ее автор), но с прицелом на коммерческую поддержку, уже какую-то контору создают для всяких "облачных полётов" на её основе. Так что, имхо, до юзабельного состояния должны уже довести, вроде близок релиз первой версии.

Да, именно этот порт.

OrientDB попробую обязательно, меня тоже очень привлекло. Возможно сегодня вечером потестирую.
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692349
АлексейС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

Ой, блин, уже почти 9 часов.... =(
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692365
rfq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейС,

jdbm2-4 еще попробуйте. Проект многолетний.
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692606
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OrientDb

Спасибо за наводку, отлично поржал.
OrientDB scales out very well on a single machine. A single server makes the work of about 125 servers running MySQL.

Наш супер сервер заменяет стопицот серверов MySQL!!!!11111
The transactional engine can run in distributed systems supporting up to 9.223.372.036 Billions of records for the maximum capacity of 19.807.040.628.566.084 Terabytes.

Наш супер сервер хранит СТОТЫЩМИЛЬЕНОВ терабайт!!!111111
I can't believe! Why it's so fast?
OrientDB has been designed to be very fast.

Ах, вот почему один OrientDB заменяет тыщу серверов MySQL! Оказывается, он был designed to be very fast, а MySQL был designed to be very slow.
Истории успеха, размещенные на сайте, тоже поражают:
document storage for a very specialized crawler: more than 100k documents, daily updates with 1k new docs.

Не иначе, какой-то школьник сделал личный краулер любимых порносайтов. Наверное, если бы он использовал MySQL, то потребовалось бы 125 серверов MySQL.
java ... -Dtx.log.synch=true ...

Теперь понятно, откуда взялась цифра в 125 MySQL серверов. Сервер банально пишет данные в оперативную память, что позволяет демонстрировать большие цифры в говнобенчмарках. Самое смешное, что отключается это даже не через конфиг, а вообще через аргументы JVM.
http://code.google.com/p/orient/wiki/MemoryManagement

Происхождение этой удивительной страницы можно объяснить только одним образом. Авторы рассчитывают, что какой-нибудь не разбирающийся в СУБД разработчик помедитирует на эту картинку, и у него в мозгу всплывет ассоциация: так в Hibernate есть что-то подобное! Если тут как в Hibernate, то наверное хорошо.

Коллеги, изучайте нормальные технологии. Верить, что есть некая волшебная СУБД с документацией в 3 странички, которая в 100 раз уделывает mysql или postgres, просто смешно.
...
Рейтинг: 0 / 0
Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
    #37692710
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йуный джавистЪ,

Можно нам глупым поинтересоваться, что имеется ввиду под "нормальными технологиями" ?
...
Рейтинг: 0 / 0
25 сообщений из 77, страница 1 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужна очень быстрая k-v база, с быстрым сетевым java интерфейсом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]