Компания Oracle анонсировала (http://www.oracle.com/us/corporate/press/1886390) продукт Oracle NoSQL Database 2.0 (http://www.oracle.com/us/products/database/nosql/overview/in...). В качестве основы Oracle NoSQL Database использован Java-вариант открытой БД BerkeleyDB (Oracle Berkeley DB Java Edition), оперирующей данными в формате ключ/значение, предоставляющей средства для создания отказоустойчивых конфигураций и позволяющей гарантировать целостность и атомарность выполняемых транзакций. Продукт доступен (http://www.oracle.com/technetwork/products/nosqldb/downloads...) в двух вариантах: коммерческой Enterprise-редакции и свободной Community-версии. Исходные тексты Community-версии распространяются под лицензией AGPL.
<img src="http://www.opennet.me/opennews/pics_base/0_1355822817.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0 align=right>Oracle NoSQL Database является одним из ключевых компонентов платформы Oracle Big Data, предназначенной для развёртывания горизонтально масштабируемых кластеров для хранения и обработки больших объемов данных (петабайты), в том числе для видов нагрузки, требующих минимального времени отклика и работающих в режиме реального времени. Созданное на базе Oracle NoSQL Database 2.0 распределённое отказоустойчивое хранилище, размером 2.4 Тб, развёрнутое на 15 узлах (по два 335GB SSD на каждом) при тестировании пакетом Yahoo Cloud Serving Benchmark (http://research.yahoo.com/Web_Information_Management/YCSB) показало способность обработать более миллиона операций в секунду при максимальной задержке в 5 миллисекунд.Из особенностей (http://www.oracle.com/technetwork/products/nosqldb/learnmore...) нового выпуска отмечается:
- Добавление расширенных средств для интеграции с СУБД Oracle, позволяющих напрямую обращаться к NoSQL-хранилищу из СУБД Oracle с использованием обычных SQL-конструкций, при этом хранилище для пользователя выглядит как набор обычных таблиц, которые можно использовать в операциях слияния;
- Улучшение поддержки работы поверх распределенного отказоустойчивого хранилища на базе платформы Apache Hadoop, базирующейся на парадигме map/reduce;- Средства для манипулирования объектами в формате JSON, через использование механизмов сериализации данных Apache Avro.- Поддержка автоматической перебалансировки вычислительных ресурсов и размещения данных в кластере, в зависимости от изменения характера запросов;
- Поддержка эффективного сохранения и извлечения из базы больших объектов, таких как документы и изображения;
- Поддержка управления через SNMP и JMX;
- Новая библиотека для использования Oracle NoSQL Database в программах на языке Си (ранее была доступна только поддержка Java), в том числе с поддержкой хранения объектов большого размера;
- Значительно увеличена производительность;
- Добавлен новый управляющий web-интерфейс, позволяющий управлять всеми аспектами работы БД, осуществлять мониторинг, а также выполнять функции управления хранимыми документами и структурированными данными.
<center><img src="http://www.opennet.me/opennews/pics_base/0_1355822646.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></center>URL: http://www.oracle.com/us/corporate/press/1886390
Новость: http://www.opennet.me/opennews/art.shtml?num=35629
Давно заметил что продуктам имеющим бесплатную открытую и платную интерпрайз версию, очень свойственно завышать характеристики. Раз в 100 легко. т.е. реально она скорее всего переваривает 10тыс запросов в секунду с средней задержкой в 50милисекунд.
Ну дык не сказано же, на каком железе это запускалось ;) Как говорится, кроме цифр, нет ничего более обманчивого, чем факты
http://www.oracle.com/technetwork/products/nosqldb/learnmore...
Совсем немного усилий и доп. информация доступна.
И уже нет необходимости говорить красивые, но бесполезные фразы :)
вот только там 1млн на всем кластере, а не с одной машины.
там их вообще 30 машин.
Это носкл, он как правило может даже проигрывать обычным SQL решениям. Но как только требуется горизонтальное маштобирование, носкл вырывается в перед, причем оч значительно вперед. Но как правило там свои хаки и в жертву идут транзакции или целостность данных.
> Это носкл, он как правило может даже проигрывать обычным SQL решениям.Прокрывать при количестве машин <N
Проигрывать в чем? скорости, масштабируемости, безопасности ... во всем?
Кто САМ из присутствующих пробовал Berkeley DB Java Edition?Есть свои +\- но что касается скорости (даже на одной машине) - очень быстро, в десятки раз быстрее RDBMS, но на разных операциях, конечно, по-разному.
Почему догадаться несложно, нужно просто установить и посмотреть что там есть и как работает.
Оно так же поставляется с бессмысленным и беспощадным графическим инсталлятором, как и весь остальной Oracle?
Перепакуйте, чтобы ставилась системными средствами любимого дистрибутива, в чем проблема-то?
Похоже, так. Видимо, с учетом того, что процентов 80 всех инсталляций оракла делается под виндами.
похоже на что?
открою секрет - там нет инсталлера вообще.
откуда тяга не знать но давать оценки? от неприязни к oracle? в чем профит?
Точно. Нет там никакого графического инсталлятора http://docs.oracle.com/cd/NOSQL/html/quickstart.html
Из них 99% сносится после увлекательного next - next... из-за непонимания, что это и для чего оно нужно. Оставшийся 1% остается из-за того, что про него забыли. В продакшн идет погрешность в расчетах.
Если кто в теме, поясните момент:
>>предоставляет средства для создания отказоустойчивых конфигураций и позволяет гарантировать целостность и атомарность выполняемых транзакций.как ноды синхронизируются у данного сабжа. если на ноде один транзакция затронула A и B, а другая транзакция на другой ноде B и C, то на первой ноде будут данные A1 и B1, а на второй ноде B2 и C2.
то при синхронизации возможна нарушение целостности данных. Как эта проблема решается?
Магия!«Любая достаточно развитая технология неотличима от магии» - Артур Кларк.
да никак. Это маркетинг. Метасерверов нет - гарантировать целостность некому. В распределенных ФС есть независимые ответственные за это, тут же пул, который гарантировать может только когда сам работает.
JTA не то?
Оставь. С кем ты споришь? Тут вообще ни один куй промышленных СУБД в глаза не видел, концепций даже не читал - но мнение имеет, о, что ты!
а что это чудо - промышленное? почему тогда такой упор на совсем другой мир BigData? Анонимы такие анонимы...
разве незнание что такое Java Transaction API может быть причиной агрессии?Стеб неуместен т.к. термин промышленная разработка имеет место быть.
Не в обиду будет сказано, но есть кустарное (кстати бывают неплохие решения) и есть промышленное производство. Если там не работали то и не понять.Просто там несколько другие правила игры, организации, процессов, способы выбора решений,
всего того что, традиционно, ненавидит вольный разработчик.
Насколько мне известно в россии промышленных компаний - хватит пальцев на одной руке, максимум, на двух.Но есть у промышленного производства один плюс - возможность создания сложных технологических решений (т.н. эффект synergy).
При чем тут JTA? да при том что он нафиг не нужен на игрушечных задачах.
это вкратце и, конечно, имхо.
а так ... теже биты и байты.
> Если кто в теме, поясните момент:
>>>предоставляет средства для создания отказоустойчивых конфигураций и позволяет гарантировать целостность и атомарность выполняемых транзакций.
> как ноды синхронизируются у данного сабжа. если на ноде один транзакция затронула
> A и B, а другая транзакция на другой ноде B и
> C, то на первой ноде будут данные A1 и B1, а
> на второй ноде B2 и C2.
> то при синхронизации возможна нарушение целостности данных. Как эта проблема решается?B новости все звучит гораздо красивее. На деле транзакционность гарантирована только на уровне Major Data Path (http://www.oracle.com/technetwork/products/nosqldb/overview/...). То есть для данных хранящихся на одной ноде (data affinity). что упрощает работу с данными только в пределах одного ключа. что касается согласованности данных, то это настраиваемо: от абсолютной согласованности, версионной, временной и вплоть до негарантированной
Если кто уже пробовал NoSQL решения - на чем стоит остановиться ? Задача хранить большое количество значений в виде КЛЮЧ-ЗНАЧЕНИЕ, но при этом хотелось бы как-то к этому из Оракл БД обращаться. Оракловое решение из данной темы не годится - бесплатная версия не поддерживает интеграцию с ораклом.
cassandra , с 1.1.5 - торт .
более 300Г дата , 5 нодов , пишем 1-2 мс , читаем 3-5 мс ( в среднем ) .
Наконец дошли руки попробовать. На бумагах у них все красиво, и семейство колонок, и CQL и прочее. Но.. При таких аппетитах к памяти и полным интернеом забитым проблемами падения по нехватке памяти даже на 8 и более гигах... Ну не знаю. ТОлько чтоб попробовать взлететь - мне 4 гига не хватило. Я конечно понимаю, что для понимания - подойдет или нет система - я должен был естественно развернуть кластер из минимум десяка машин с 16 и более гигабайтов озу на каждой, и чтоб ничего не крутилось кроме джавы на ней. И проче и прочее...
Согласен, не осилил :)
Мда, нужно отдыхать. И всего-то недосмотрел - доку прочел, java поставил правильно. А их RPM с кассандрой подтянул сам OpenJDK, с которой все падает. Вот в чем было дело.
> Если кто уже пробовал NoSQL решения - на чем стоит остановиться ?
> Задача хранить большое количество значений в виде КЛЮЧ-ЗНАЧЕНИЕ, но при этом
> хотелось бы как-то к этому из Оракл БД обращаться. Оракловое решение
> из данной темы не годится - бесплатная версия не поддерживает интеграцию
> с ораклом.Я не слышал о подобных решениях. Скорее всего потому что мало смысла в том чтобы обращаться из одной БД напрямую в другую. Для этого есть бекенд приложения который в состоянии абстрагировать такие вещи.
ничто не мешает из oracle обращаться к чему бы то ни было, в том числе и к внешнему хранилищу написав external procedure.
http://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_...
До мкмкеша оно уже дотягивает ?
Memcachedb использует сишную версию berkley db для хранения данных на диске. С самим memcache сравнивать смысла нет, т.к. это совершенно иной тип хранилища.
> Memcachedb использует сишную версию berkley db для хранения данных на диске. С
> самим memcache сравнивать смысла нет, т.к. это совершенно иной тип хранилища.А сие на яве ?
То, что оно на джаве, мало что меняет, т.к. к ее быстродействию претензий нет. Единственный ее минус в серверных приложениях - это то, что при интенсивной работе с памятью и высокой нагрузке может образовываться много мусора, поэтому периодически просыпающийся сборщик может ставить ВМ колом на время сборки, однако и это решается при знании принципов работы GC и архитектуры приложения.
>>> Поддержка средств для изменения топологии и конфигурации БД без остановки работы;Тут то всё колом на пару дней и встанет...
А есть преимущества по сравнению с Hbase/Cassandra/MariaDB+Cassandra storage Engine?
зачем всё в кучу смешивать. у всех перечисленных разные ниши и области применния.
отметил бы простоту использования Oracle NoSQL.
большой "-" это собственно Oracle. то какие он последнее время фокусы выкидывает заставляет семь раз подумать перед тем как пользовать его софт.
https://blogs.oracle.com/charlesLamb/entry/oracle_nosql_data...Как раз и получается, большая часть узлов - реплики, т.е. копии на случай краха главного узла.
на системе с такими характеристиками нельзя получать меньшие результаты, не красиво.We used 15 servers, each configured with two 335 GB SSD cards. We did not have homogeneous CPUs across all 15 servers available to us so 12 of the 15 were Xeon E5-2690, 2.9 GHz, 2 sockets, 32 threads, 193 GB RAM, and the other 3 were Xeon E5-2680, 2.7 GHz, 2 sockets, 32 threads, 193 GB RAM. There might have been some upside in having all 15 machines configured with the faster CPU, but since CPU was not the limiting factor we don't believe the improvement would be significant.
The client machines were Xeon X5670, 2.93 GHz, 2 sockets, 24 threads, 96 GB RAM. Although the clients had 96 GB of RAM, neither the NoSQL Database or YCSB clients require anywhere near that amount of memory and the test could have just easily been run with much less.
Networking was all 10GigE.