LINUX.ORG.RU
 
yoghurt

Google открывает LevelDB


0

1

LevelDB - быстрое хранилище данных, обеспечивающее упорядоченное отображение текстовых ключей на текстовые значения.

Новинка представляет из себя библиотеку для языка C++, которой можно найти множество применений. Например, она может быть использована веб-браузером для хранения кеша недавно открытых страниц, пакетным менеджером для хранения списка установленных пакетов и их зависимостей, приложениями для хранения настроек и так далее.

LevelDB реализована с минимумом зависимостей и поэтому уже доступна на большинстве платформ. Библиотека распространяется под лицензией в стиле BSD.

>>> Сравнение производительности с SQLite и Kyoto Cabinet

>>> Домашняя страница проекта

>>> Подробности


[#]  
yirk

Они изобрели Berkeley DB? (по ссылкам не ходил)

** ()
[#] Ответ на: комментарий от yirk 28.07.2011 9:51:01  
Manhunt

> Они изобрели Berkeley DB?

+1. Напонятно, почему bdb не включена в сравнение производительности.

*** ()
[#] Ответ на: комментарий от yirk 28.07.2011 9:51:01  

>Они изобрели Berkeley DB?

К сожалению, в BDB добавили столько блекджека и шлюх... Даже поддержку SQL в 5-й версии запилили.

Кроме того с Oracle'ом у Google отношения слегка напряженные ;)

**** ()
[#]  

Молодцы, сравнили простейшую систему с SQL базой данной. Жаль, что с ораклом не сравнили или PostgreSQL, они б тогда точно вперде были бы

anonymous ()
[#]  

как раз прикручивал sqlite на QAbstractNetworkCache, а вот и подарок. Viva Google!

* ()
[#]  

срочно позитифкэту надо это запользовать :D

anonymous ()
[#]  
DNA_Seq

В с++ наконец-то появились хеши?

*** ()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 12:04:45  
aho

> В с++ наконец-то появились хеши?

относительно давно - man unordered_map

()
[#] Ответ на: комментарий от aho 28.07.2011 12:06:14  
DNA_Seq

ну и нафиг тогда этот велосипед нужен?

*** ()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 12:07:11  
aho

> ну и нафиг тогда этот велосипед нужен?

для эффективной работы с файлами вероятно

()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 12:07:11  

ну как зачем? изобретения ради же!

* ()
[#] Ответ на: комментарий от aho 28.07.2011 12:14:10  
DNA_Seq

ну в перле том же хеши великолепно сохраняются в файл искаропки

*** ()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 12:16:50  

> ну в перле том же хеши великолепно сохраняются в файл искаропки

Очевидно, что при некоторых объемах, держать всё в памяти накладно.

** ()
[#]  
jcd

если она достаточно проста и легковесна - пойдет, вечерком затестим-с.

*** ()
[#] Ответ на: комментарий от jcd 28.07.2011 12:19:39  
jcd

бенчмарки выглядят бодряще. насколько сложно будет попробовать перевести портеж на эту leveldb?

*** ()
[#]  

Зачем она нужна. Ведь есть SQLite и BerkeleyDB?

()
[#] Ответ на: комментарий от hp 28.07.2011 12:39:28  

Зачем вы сюда написали. Ведь есть же подобные комментарии выше?

* ()
[#] Ответ на: комментарий от jcd 28.07.2011 12:21:54  
mono

интересно ее под ведроидом запустить, через JNI.

***** ()
[#] Ответ на: комментарий от jcd 28.07.2011 12:21:54  
bk_

>> насколько сложно будет попробовать перевести портеж на эту leveldb?

Сложность составит, по моим расчетам, 193 кирпича на 10 строк кода (19.3 к/к).

* ()
[#] Ответ на: комментарий от hp 28.07.2011 12:39:28  
bk_

Тред не читай! @ Быстрее напиши "остроумный" коммент!

* ()
[#] Ответ на: комментарий от mono 28.07.2011 13:20:30  
dycore

ну хз.. на GDD говорили, что NDK - последнее, что можно юзать в андроиде.. так что возможно это не очень хорошая идея..

()
[#] Ответ на: комментарий от baverman 28.07.2011 12:19:19  
DNA_Seq

>Очевидно, что при некоторых объемах, держать всё в памяти накладно.

вендопроблемы

*** ()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 12:16:50  
Manhunt

> ну в перле том же хеши великолепно сохраняются в файл искаропки

man ACID

*** ()
[#] Ответ на: комментарий от anonymous 28.07.2011 11:29:03  

Никто не предлагает эту либу качестве замены sql.

***** ()
[#]  
random_linux_user

Зачем оно нужно, если есть Redis?

()
[#]  

А почему на opennet новостей больше чем на ЛОРе? Так специально задумано или некому писать?

anonymous ()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 12:16:50  

> ну в перле том же хеши великолепно сохраняются в файл искаропки

Ты удивишься, когда узнаешь, какие накладные расходы на хранение хеша в памяти. Так что часто разумнее пользоваться какой-либо БД.

***** ()
[#] Ответ на: комментарий от anonymous 28.07.2011 14:48:26  

на опеннете меньше ленивых анонимусов

* ()
[#] Ответ на: комментарий от dib2 28.07.2011 14:59:42  

Что-то я "работящего" dib2 там не встречал.Или ты там под анонимуса косишь?

anonymous ()
[#] Ответ на: комментарий от AVL2 28.07.2011 14:15:54  

Однако сравнивают, почему? Не потому ли, что это ближайших аналог? Сравнение некорректное, сравнивать СУБД для встраиваемых систем с узкозаточенной програмкой для решения всего одной задачи, хранить пару

anonymous ()
[#] Ответ на: комментарий от anonymous 28.07.2011 15:10:36  

да и здесь собственно регистрация только ради толксов, в которых часто кто-то не прав.

* ()
[#]  

А насколько оно удобнее BerkeleyDB ... и как ведет себя в сравнении с другими движками вида ключ/значение?

** ()
[#]  
atrus

> LevelDB - быстрое хранилище данных, обеспечивающее упорядоченное отображение текстовых ключей на текстовые значения.

Формат файла:

[имя таблицы]
; комментрий
ключ = значение

Хм... Какое бы расширение использовать?..

***** ()
[#] Ответ на: комментарий от atrus 28.07.2011 15:36:21  

Гугл [пере]изобрёл .ini? :)

anonymous ()
[#]  

Может бред скажу, но всё-таки зачем сравнивать key-value хранилище с SQLной БД? Почему бы не сравнить её с MongoDB или CouchDB?

anonymous ()
[#] Ответ на: комментарий от anonymous 28.07.2011 16:54:33  

> зачем сравнивать key-value хранилище с SQLной БД?

Чтобы показать "смотрите, какую быструю штуку мы сделали", ибо SQL [почти] заведомо медленнее хранилища ключ-значение, а при сравнении с другими подобными хранилищами всё может быть не так радужно... Маркетолухи же.

anonymous ()
[#] Ответ на: комментарий от anonymous 28.07.2011 16:54:33  

>Может бред скажу, но всё-таки зачем сравнивать key-value хранилище с SQLной БД? Почему бы не сравнить её с MongoDB или CouchDB?

1) потому что часто SQL БД используются там, где хавтило бы и key-value, но зато нужна скорость. Возникает вопрос, как тут сможет помочь данная либа?

2) потому что еще чаще необходимо обеспечить быстрый прием данных, чтобы затем спокойно принятый объем обработать в sql. Возникает вопрос, быстро можно принять массив key-object?

***** ()
[#] Ответ на: комментарий от anonymous 28.07.2011 15:15:53  

>Однако сравнивают, почему? Не потому ли, что это ближайших аналог? Сравнение некорректное, сравнивать СУБД для встраиваемых систем с узкозаточенной програмкой для решения всего одной задачи, хранить пару

Сравнивают, потому что проигрыш в таком сравнении не означает проигрыш вообще. Речь идет об узкой задаче, для которой можно применить универсальное решение тип скулайта или взять эту либу. Отсюда и сравнение.

***** ()
[#] Ответ на: комментарий от random_linux_user 28.07.2011 14:47:51  

>Например, она может быть использована веб-браузером для хранения кеша недавно открытых страниц

Ты для этого предлагешь использовать redis?

** ()
[#] Ответ на: комментарий от AVL2 28.07.2011 18:11:19  

А сравнивают потому что SQLite - c++ надстройка над BDB, что и есть полный аналог указанной либы. Так что все корректно. Наверно SQLite вполне можно пропатчить для работы с ней как бэкендом

anonymous ()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 13:52:35  
helios

Извини, можно по-подробнее: как использовать хеши для хранения инфы под 10гб?

На сколько это реально, быстро и затратно? Если всё ок - почему так не делают?

Уже давненько в голове мысли про хеши-бд "а вот если бы...".

*** ()
[#] Ответ на: комментарий от devnullopers 28.07.2011 18:50:40  
mono

Да, конечно, иначе как NDK будет работать?

***** ()
[#] Ответ на: комментарий от Reset 28.07.2011 19:00:26  

Если только чуть-чуть :) Berkeley DB 11gR2 от Оракла имеет SQLite API

anonymous ()
[#] Ответ на: комментарий от hp 28.07.2011 12:39:28  
vertexua

Обычно Google c китайского переводят как "очень быстрый код". Go - исключение

*** ()
[#]  

а че не с gimp или виндовым дефрагментатором скорось сравнивали? можно было бы добиться более интересные результаты.

возьмите это взад

anonymous ()
[#] Ответ на: комментарий от DNA_Seq 28.07.2011 12:04:45  

> В с++ наконец-то появились хеши?

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

anonymous ()