SlideShare une entreprise Scribd logo
1  sur  33
<Insert Picture Here> 
Oracle NoSQL Database 
Алексей Филановский 
Старший консультант
<Insert Picture Here> 
Что такое NoSQL?
Предпосылки развития NoSQL технологий 
• Появление в начале 2000-х 
• Google - поисковые системы 
• Facebook – социальные сети 
• И.т.д. 
• Этим системам свойственно 
• Постоянно меняющаяся структура 
• Непредсказуемый рост количества данных 
• Огромное число пользователей 
Реляционные базы данных не справлялись
Что такое NoSQL СУБД? 
• Не имеют структурированной схемы 
• Часто данные хранятся в схеме Key-Value 
• Расшифровывает структуру данных приложение 
• Для работы с данными используются простые 
операции (получить значение по ключу), нет SQL 
• Позволяют горизонтально масштабироваться 
• Данные хранятся в копиях на разных серверах 
• Отказ узла не приводит к потере данных 
• Чтение производится с мастера или копий 
• На данный момент существует около 130 различных 
NoSQL
Основные игроки NoSQL 
NoSQL базы данных 
Распределенные Key-value Колоночные Документ- 
ориентированные 
Граф- 
ориентированные 
Oracle NoSQL DB * Cassandra MongoDB OrientDB 
Voldemort * HBase CouchDB GraphDB 
Amazon Dynamo HyperTable RavenDB Neo4j 
Riak Google BigTable 
CitrisLeaf 
GenieDB * 
Одноузловые Key-value 
Redis 
Tokyo Cabinet 
Google LevelDB 
Oracle Berkeley DB 
(*) Построены на Oracle Berkeley DB
<Insert Picture Here> 
Oracle NoSQL Database
Новый продукт - Oracle NoSQL DB 
Распределенная, масштабируемая key-value база данных 
• Простая модель данных 
• Пара Key-value с подходом major+sub-key 
• Операции read/insert/update/delete 
• Масштабируемость 
• Оптимизированный доступ к данным 
• Высокая доступность 
• Одна или более реплик 
• Отказоустойчивость засчет 
разнесения реплик 
• Устойчивость к отказу мастера 
• Нет одной точки отказа 
• Прозрачная балансировка нагрузки 
Application 
Storage Nodes 
Data Center A 
• Чтение с мастера или реплики 
• Драйвер знает о сетевой топологии и временах задержки 
Application 
Storage Nodes 
Data Center B 
NoSQLDB Driver 
NoSQLDB Driver
Как можно понимать пару ключ – значение?
Как можно понимать пару ключ – значение? 
/Smith/Bob/-/birthdate 
/Smith/Bob/-/phonenumber 
/Smith/Bob/-/image 
/Smith/Patricia/-/birthdate 
/Smith/Patricia/-/phonenumber 
Key Value 
/Smith/Bob/-/Mobile +1 – 333-… 
Ключ можно воспринимать 
как путь в файловой системе 
01.01.1970 
+1 – 111 -111… 
02.02.1971 
+1 – 222-… 
Значение - 
просто набор байтов
Логическое представление NoSQL DB 
Key1 – Value1 
Key5 – Value5 
Key4 – Value4 
Key2 – Value2 
Key3 – Value3 
Key6 – Value6 
Key Value 
Key1 Value1 
Key2 Value2 
Key3 Value3 
Key4 Value4 
Key5 Value5 
Key6 Value6 
Index
Физическое представление 
Key1 – Value1 
Key5 – Value5 
Key4 – Value4 
Key2 – Value2 
Key3 – Value3 
Key6 – Value6 
Стойка 1 Стойка 2 
Key1 – Value1 
Key1 – Value1 
Key2 – Value2 Key2 – Value2 
Key3 – Value3 
Key3 – Value3 
Key4 – Value4 
Key4 – Value4 
Key5 – Value5 Key5 – Value5 
Key6 – Value6 Key6 – Value6
Физическое представление 
Стойка 1 Стойка 2 
Key1 – Value1 
Key1 – Value1 
Key2 – Value2 Key2 – Value2 
Key3 – Value3 
Key3 – Value3 
Key4 – Value4 
Key4 – Value4 
Key5 – Value5 Key5 – Value5 
Key6 – Value6 Key6 – Value6
Архитектура хранилища 
Стойка 1 Стойка 2 
Key1 – Value1 Key1 – Value1 
Master 
Slave 
Key4 – Value4 Key4 – Value4 
Key2 – Value2 Key2 – Value2 
Master 
Slave 
Key5 – Value5 Key5 – Value5 
Key3 – Value3 
Key3 – Value3 
Key6 – Value6 Key6 – Value6 
Shard 1 
(Replication 
Group1) 
Shard 2 
(Replication 
Group2) 
Shard 3 
(Replication 
Group3) 
Storage Node 
Partition = f(MD5 of major Key) 
Master 
Slave
База данных 
Стойка 1 Стойка 2 
Key1 – Value1 Key1 – Value1 
Key4 – Value4 Key4 – Value4 
Key2 – Value2 Key2 – Value2 
База данных 
Key5 – Value5 Key5 – Value5 
Key3 – Value3 
Key3 – Value3 
Key6 – Value6 Key6 – Value6
Взаимодействие клиент-сервер 
Application 
NoSQL DB 
driver 
Get , Put… 
База данных
Пример использования 
Foto 
Friends 
About 
me 
Tape 
Get(/Smith/Bob/-/foto/) 
Создадим свою 
социальную сеть!
Пример использования 
Foto 
Friends 
About 
me 
Tape 
Get(/Smith/Bob/-/about-me/) 
<?xml version="1.0"?> 
<profile> 
<name> Bob</name> 
<lastname> Smith </ lastname > 
<age> 35 </age> 
<city> Славный город на Неве </city> 
</ profile > 
Smith 
Bob 
35 
Славный 
город на Неве
Пример использования 
Foto 
Friends 
About 
me 
Tape 
Get(/Smith/Bob/-/friends/) 
Smith 
Bob 
35 
Славный 
город на Неве 
Lary, Patrica, John …. 
Lary 
Patrica 
John
Пример использования 
Foto 
Friends 
About 
me 
Tape 
Get(/Smith/Bob/-/tape_list/) 
Smith 
Bob 
35 
Славный 
город на Неве 
Lary 
Patrica 
John 
1325397600, 1325397700, 
1325397800, 1325397900, 
1325398000, 1325398100… 
Get(/Smith/Bob/-/tape/ 1325398000) 
Мой пост! 
Get(/Smith/Bob/-/tape/ 1325398100) 
TapeArray = SortTop(value,2) 
Спасибо всем присутствующим 
[1325398000, 1325398100] 
за внимание! 
Мой пост! 
Спасибо 
всем 
Присутству - 
ющим 
за 
внимание!
<Insert Picture Here> 
Почему NoSQL быстрее РСУБД?
Чем сложнее тем медленнее 
Key-Value 
РСУБД 
Query Parser t0 + t1 + t2 + t3 + t4 + t5 
Оптимизатор t0 + t1 + t2 + t3 + t4 
Безопасность t0 + t1 + t2 
Java API 
Физический слой 
пара 
t, sec 
Последовательное чтение ~ 100 Мб/сек Произвольное чтение ~ 15 мкс 
t, sec 
Кэширование, 
логирование, 
блокировки 
t0 + t1 
Словарь 
данных 
t0 + t1 + t2 + t3 
Кэширование, 
логирование, 
блокировки
<Insert Picture Here> 
Почему Oracle NoSQL DB?
В каких случаях следует использовать Oracle 
NoSQL DB? 
- Терабайты или петабайты данных 
- Приложение не должно иметь единой точки отказа 
- Использование множества недорогих серверов 
(commodity) 
- Ожидаемое небольшое время отклика простых запросов 
- Неструктурированная или полуструктурированная 
модель данных 
- ACID транзакции 
- Коммерческая поддержка 
- Патентные войны
<Insert Picture Here> 
Примеры систем 
которые могут быть построены 
на основе Oracle NoSQL?
Потенциальные системы на Oracle NoSQL DB? 
• LDAP подобные системы - простой ответ на простой вопрос 
Почему? Это быстро! 
• Хранилище USSD запросов мобильных пользователей 
Почему? Нет четкой структуры исходных данных 
• Персонализация пользователей 
Почему? Нет четкой структуры данных, постоянное добавление 
нового функционала 
• Сбор разнотипных данных со счетчиков 
Почему? Требуется поддержка большого количества одновременных 
сессий 
• Хранение видео и изображений (архив) 
Почему? Огромный объем данных
Потенциальные системы на Oracle NoSQL DB? 
• Логирование интернет трафика (CDR GPRS, web logs) 
Почему? Данных очень много 
• Хранилище файлов (фотографии, видео, текст) 
Почему? Данных может быть очень много и к ним требуется быстрый 
доступ (системы аналогичные Dropbox, Google disk) 
• Интернет магазины 
Почему? Нет четкой структуры данных. Данных может быть много 
• Антиспам системы 
Почему? Очень много простых запросов (пример: Mollom) 
• Бэкапирование различных профилей 
Почему? Данные не структурированны, данных много
<Insert Picture Here> 
Гибридная архитектура
Возможная архитектура 
Application Layer 
Application 
NoSQL DB Driver 
Store Layer
Возможная архитектура 
Application Layer 
Application 
NoSQL DB Driver 
Preprocessor run Data 
stream 
Store Layer
<Insert Picture Here> 
NoSQL, хорошо или плохо?
NoSQL, хорошо или плохо?
Если есть вопросы 
Alexey.Filanovskiy@oracle.com 
http://oracle-nosql.blogspot.com/ 
http://hadoop-hive.blogspot.ru/ 
http://www.oracle.com/bigdata
Вопросы

Contenu connexe

Tendances

NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...Ontico
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comOntico
 
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)Ontico
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Ontico
 
Дедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамДедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамКРОК
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Ontico
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Ontico
 
Обзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов OracleОбзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов OracleBAKOTECH
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey Zinoviev
 
AZadonsky Exalogic
AZadonsky ExalogicAZadonsky Exalogic
AZadonsky ExalogicVasily Demin
 
Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Andrew Avdeev
 
Scaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 RusScaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 RusOntico
 
Лучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД OracleЛучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД OracleAndrey Akulov
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Ontico
 
NoSQL - взрыв возможностей
NoSQL - взрыв возможностейNoSQL - взрыв возможностей
NoSQL - взрыв возможностейAleksey Solntsev
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Ontico
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Ontico
 
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)Ontico
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 

Tendances (20)

NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.com
 
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам / Андрей Половов (Флант)
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
 
Дедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамДедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекам
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 
Обзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов OracleОбзор инструментов Toad для администраторов Oracle
Обзор инструментов Toad для администраторов Oracle
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
 
AZadonsky Exalogic
AZadonsky ExalogicAZadonsky Exalogic
AZadonsky Exalogic
 
Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)
 
Scaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 RusScaling Web Sites By Sharding And Replication Hl2008 Rus
Scaling Web Sites By Sharding And Replication Hl2008 Rus
 
Лучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД OracleЛучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
 
NoSQL - взрыв возможностей
NoSQL - взрыв возможностейNoSQL - взрыв возможностей
NoSQL - взрыв возможностей
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
 
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 

En vedette

NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015Shamim bhuiyan
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
 
5 идей по продвижению финансовых компаний в социальных медиа
5 идей по продвижению финансовых компаний в социальных медиа5 идей по продвижению финансовых компаний в социальных медиа
5 идей по продвижению финансовых компаний в социальных медиаBusiness.People
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsAndrei Nikolaenko
 
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данныхHappyDev
 
Getting Started with Couchbase Ruby
Getting Started with Couchbase RubyGetting Started with Couchbase Ruby
Getting Started with Couchbase RubySergey Avseyev
 
Web весна 2012 лекция 6
Web весна 2012 лекция 6Web весна 2012 лекция 6
Web весна 2012 лекция 6Technopark
 
Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Olga Lavrentieva
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Ontico
 
Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3Evgeny Gazdovsky
 
Как устроен NoSQL, Андрей Аксенов (Sphinx)
Как устроен NoSQL, Андрей Аксенов (Sphinx)Как устроен NoSQL, Андрей Аксенов (Sphinx)
Как устроен NoSQL, Андрей Аксенов (Sphinx)Ontico
 
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...Dev2Dev
 
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Ontico
 
NoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий НикулинNoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий НикулинAnatoliy Nikulin
 
NoSQL и Zend Framework (Ростислав Михайлив)
NoSQL и Zend Framework (Ростислав Михайлив)NoSQL и Zend Framework (Ростислав Михайлив)
NoSQL и Zend Framework (Ростислав Михайлив)zfconfua
 
Oracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологийOracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологийAndrey Akulov
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandraodnoklassniki.ru
 
MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?Alexey Tokar
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBUNETA
 

En vedette (20)

NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015NoSQL - World IT Planet, Saint Petersburg 2015
NoSQL - World IT Planet, Saint Petersburg 2015
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
5 идей по продвижению финансовых компаний в социальных медиа
5 идей по продвижению финансовых компаний в социальных медиа5 идей по продвижению финансовых компаний в социальных медиа
5 идей по продвижению финансовых компаний в социальных медиа
 
NoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospectsNoSQL: issues and progress, current status and prospects
NoSQL: issues and progress, current status and prospects
 
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
2015-12-05 Данил Никифоров - NoSQL для мобайла с синхронизацией данных
 
Getting Started with Couchbase Ruby
Getting Started with Couchbase RubyGetting Started with Couchbase Ruby
Getting Started with Couchbase Ruby
 
Web весна 2012 лекция 6
Web весна 2012 лекция 6Web весна 2012 лекция 6
Web весна 2012 лекция 6
 
Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
 
Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3Презентация Neo4j на ADD-3
Презентация Neo4j на ADD-3
 
Devconf 2014
Devconf 2014Devconf 2014
Devconf 2014
 
Как устроен NoSQL, Андрей Аксенов (Sphinx)
Как устроен NoSQL, Андрей Аксенов (Sphinx)Как устроен NoSQL, Андрей Аксенов (Sphinx)
Как устроен NoSQL, Андрей Аксенов (Sphinx)
 
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
 
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
 
NoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий НикулинNoSQL thumbtack experience, Анатолий Никулин
NoSQL thumbtack experience, Анатолий Никулин
 
NoSQL и Zend Framework (Ростислав Михайлив)
NoSQL и Zend Framework (Ростислав Михайлив)NoSQL и Zend Framework (Ростислав Михайлив)
NoSQL и Zend Framework (Ростислав Михайлив)
 
Oracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологийOracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологий
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
 
MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDB
 

Similaire à Oracle NoSQL Database

Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Ontico
 
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Oleg Tsarev
 
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDBMyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDBSergey Petrunya
 
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...Ontico
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetOntico
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основыAlex Chistyakov
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...IT-Portfolio
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parseryalegko
 
Oracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памятиOracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памятиAndrey Akulov
 
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Ontico
 
How to cook a blockchain and not get burned
How to cook a blockchain and not get burned How to cook a blockchain and not get burned
How to cook a blockchain and not get burned Alexander Syrotenko
 
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10OdessaFrontend
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_drupalconf
 
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)Ontico
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLAlex Chistyakov
 
Mysql replication DevConf 2012
Mysql replication DevConf 2012Mysql replication DevConf 2012
Mysql replication DevConf 2012Alex Chistyakov
 

Similaire à Oracle NoSQL Database (20)

Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
 
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
 
High Load
High LoadHigh Load
High Load
 
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDBMyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDB
 
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
 
Aлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreetAлександр Зайцев, LifeStreet
Aлександр Зайцев, LifeStreet
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основы
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parser
 
Oracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памятиOracle database In-Memory - новая технология обработки в памяти
Oracle database In-Memory - новая технология обработки в памяти
 
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
 
How to cook a blockchain and not get burned
How to cook a blockchain and not get burned How to cook a blockchain and not get burned
How to cook a blockchain and not get burned
 
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10
Перепись приложения. Нативного. На JS. Done. | Odessa Frontend Meetup #10
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_
 
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)
Как устроена MySQL-репликация, Андрей Аксенов (Sphinx)
 
MySQL 101
MySQL 101MySQL 101
MySQL 101
 
Практический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQLПрактический опыт использования некоторых современных решений репликации MySQL
Практический опыт использования некоторых современных решений репликации MySQL
 
Mysql replication DevConf 2012
Mysql replication DevConf 2012Mysql replication DevConf 2012
Mysql replication DevConf 2012
 

Plus de Andrey Akulov

Oracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data referencesOracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data referencesAndrey Akulov
 
Oracle Big Data proposition
Oracle Big Data propositionOracle Big Data proposition
Oracle Big Data propositionAndrey Akulov
 
Oracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyOracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyAndrey Akulov
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloAndrey Akulov
 
Oracle Enterprise Metadata Management
Oracle Enterprise Metadata ManagementOracle Enterprise Metadata Management
Oracle Enterprise Metadata ManagementAndrey Akulov
 
Решения Oracle для Big Data
Решения Oracle для Big DataРешения Oracle для Big Data
Решения Oracle для Big DataAndrey Akulov
 
Преимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий OracleПреимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий OracleAndrey Akulov
 
Подход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системПодход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системAndrey Akulov
 
Управление административными учетными записями как средство защиты от челове...
Управление административными учетными записями как  средство защиты от челове...Управление административными учетными записями как  средство защиты от челове...
Управление административными учетными записями как средство защиты от челове...Andrey Akulov
 
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...Andrey Akulov
 
Защита информации на уровне СУБД
Защита информации на уровне СУБДЗащита информации на уровне СУБД
Защита информации на уровне СУБДAndrey Akulov
 
Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)Andrey Akulov
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Andrey Akulov
 
Database as a Service
Database as a ServiceDatabase as a Service
Database as a ServiceAndrey Akulov
 
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceНовый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceAndrey Akulov
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Andrey Akulov
 
Обзор интегрированных систем Oracle
Обзор интегрированных систем OracleОбзор интегрированных систем Oracle
Обзор интегрированных систем OracleAndrey Akulov
 
Exalogic Technical Overview
Exalogic Technical OverviewExalogic Technical Overview
Exalogic Technical OverviewAndrey Akulov
 

Plus de Andrey Akulov (20)

Highly Automated IT
Highly Automated ITHighly Automated IT
Highly Automated IT
 
Oracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data referencesOracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data references
 
Oracle Big Data proposition
Oracle Big Data propositionOracle Big Data proposition
Oracle Big Data proposition
 
Oracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyOracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategy
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and Ravello
 
Oracle Ravello
Oracle Ravello Oracle Ravello
Oracle Ravello
 
Oracle Enterprise Metadata Management
Oracle Enterprise Metadata ManagementOracle Enterprise Metadata Management
Oracle Enterprise Metadata Management
 
Решения Oracle для Big Data
Решения Oracle для Big DataРешения Oracle для Big Data
Решения Oracle для Big Data
 
Преимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий OracleПреимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий Oracle
 
Подход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системПодход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических систем
 
Управление административными учетными записями как средство защиты от челове...
Управление административными учетными записями как  средство защиты от челове...Управление административными учетными записями как  средство защиты от челове...
Управление административными учетными записями как средство защиты от челове...
 
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
 
Защита информации на уровне СУБД
Защита информации на уровне СУБДЗащита информации на уровне СУБД
Защита информации на уровне СУБД
 
Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
 
Database as a Service
Database as a ServiceDatabase as a Service
Database as a Service
 
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceНовый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014
 
Обзор интегрированных систем Oracle
Обзор интегрированных систем OracleОбзор интегрированных систем Oracle
Обзор интегрированных систем Oracle
 
Exalogic Technical Overview
Exalogic Technical OverviewExalogic Technical Overview
Exalogic Technical Overview
 

Oracle NoSQL Database

  • 1. <Insert Picture Here> Oracle NoSQL Database Алексей Филановский Старший консультант
  • 2. <Insert Picture Here> Что такое NoSQL?
  • 3. Предпосылки развития NoSQL технологий • Появление в начале 2000-х • Google - поисковые системы • Facebook – социальные сети • И.т.д. • Этим системам свойственно • Постоянно меняющаяся структура • Непредсказуемый рост количества данных • Огромное число пользователей Реляционные базы данных не справлялись
  • 4. Что такое NoSQL СУБД? • Не имеют структурированной схемы • Часто данные хранятся в схеме Key-Value • Расшифровывает структуру данных приложение • Для работы с данными используются простые операции (получить значение по ключу), нет SQL • Позволяют горизонтально масштабироваться • Данные хранятся в копиях на разных серверах • Отказ узла не приводит к потере данных • Чтение производится с мастера или копий • На данный момент существует около 130 различных NoSQL
  • 5. Основные игроки NoSQL NoSQL базы данных Распределенные Key-value Колоночные Документ- ориентированные Граф- ориентированные Oracle NoSQL DB * Cassandra MongoDB OrientDB Voldemort * HBase CouchDB GraphDB Amazon Dynamo HyperTable RavenDB Neo4j Riak Google BigTable CitrisLeaf GenieDB * Одноузловые Key-value Redis Tokyo Cabinet Google LevelDB Oracle Berkeley DB (*) Построены на Oracle Berkeley DB
  • 6. <Insert Picture Here> Oracle NoSQL Database
  • 7. Новый продукт - Oracle NoSQL DB Распределенная, масштабируемая key-value база данных • Простая модель данных • Пара Key-value с подходом major+sub-key • Операции read/insert/update/delete • Масштабируемость • Оптимизированный доступ к данным • Высокая доступность • Одна или более реплик • Отказоустойчивость засчет разнесения реплик • Устойчивость к отказу мастера • Нет одной точки отказа • Прозрачная балансировка нагрузки Application Storage Nodes Data Center A • Чтение с мастера или реплики • Драйвер знает о сетевой топологии и временах задержки Application Storage Nodes Data Center B NoSQLDB Driver NoSQLDB Driver
  • 8. Как можно понимать пару ключ – значение?
  • 9. Как можно понимать пару ключ – значение? /Smith/Bob/-/birthdate /Smith/Bob/-/phonenumber /Smith/Bob/-/image /Smith/Patricia/-/birthdate /Smith/Patricia/-/phonenumber Key Value /Smith/Bob/-/Mobile +1 – 333-… Ключ можно воспринимать как путь в файловой системе 01.01.1970 +1 – 111 -111… 02.02.1971 +1 – 222-… Значение - просто набор байтов
  • 10. Логическое представление NoSQL DB Key1 – Value1 Key5 – Value5 Key4 – Value4 Key2 – Value2 Key3 – Value3 Key6 – Value6 Key Value Key1 Value1 Key2 Value2 Key3 Value3 Key4 Value4 Key5 Value5 Key6 Value6 Index
  • 11. Физическое представление Key1 – Value1 Key5 – Value5 Key4 – Value4 Key2 – Value2 Key3 – Value3 Key6 – Value6 Стойка 1 Стойка 2 Key1 – Value1 Key1 – Value1 Key2 – Value2 Key2 – Value2 Key3 – Value3 Key3 – Value3 Key4 – Value4 Key4 – Value4 Key5 – Value5 Key5 – Value5 Key6 – Value6 Key6 – Value6
  • 12. Физическое представление Стойка 1 Стойка 2 Key1 – Value1 Key1 – Value1 Key2 – Value2 Key2 – Value2 Key3 – Value3 Key3 – Value3 Key4 – Value4 Key4 – Value4 Key5 – Value5 Key5 – Value5 Key6 – Value6 Key6 – Value6
  • 13. Архитектура хранилища Стойка 1 Стойка 2 Key1 – Value1 Key1 – Value1 Master Slave Key4 – Value4 Key4 – Value4 Key2 – Value2 Key2 – Value2 Master Slave Key5 – Value5 Key5 – Value5 Key3 – Value3 Key3 – Value3 Key6 – Value6 Key6 – Value6 Shard 1 (Replication Group1) Shard 2 (Replication Group2) Shard 3 (Replication Group3) Storage Node Partition = f(MD5 of major Key) Master Slave
  • 14. База данных Стойка 1 Стойка 2 Key1 – Value1 Key1 – Value1 Key4 – Value4 Key4 – Value4 Key2 – Value2 Key2 – Value2 База данных Key5 – Value5 Key5 – Value5 Key3 – Value3 Key3 – Value3 Key6 – Value6 Key6 – Value6
  • 15. Взаимодействие клиент-сервер Application NoSQL DB driver Get , Put… База данных
  • 16. Пример использования Foto Friends About me Tape Get(/Smith/Bob/-/foto/) Создадим свою социальную сеть!
  • 17. Пример использования Foto Friends About me Tape Get(/Smith/Bob/-/about-me/) <?xml version="1.0"?> <profile> <name> Bob</name> <lastname> Smith </ lastname > <age> 35 </age> <city> Славный город на Неве </city> </ profile > Smith Bob 35 Славный город на Неве
  • 18. Пример использования Foto Friends About me Tape Get(/Smith/Bob/-/friends/) Smith Bob 35 Славный город на Неве Lary, Patrica, John …. Lary Patrica John
  • 19. Пример использования Foto Friends About me Tape Get(/Smith/Bob/-/tape_list/) Smith Bob 35 Славный город на Неве Lary Patrica John 1325397600, 1325397700, 1325397800, 1325397900, 1325398000, 1325398100… Get(/Smith/Bob/-/tape/ 1325398000) Мой пост! Get(/Smith/Bob/-/tape/ 1325398100) TapeArray = SortTop(value,2) Спасибо всем присутствующим [1325398000, 1325398100] за внимание! Мой пост! Спасибо всем Присутству - ющим за внимание!
  • 20. <Insert Picture Here> Почему NoSQL быстрее РСУБД?
  • 21. Чем сложнее тем медленнее Key-Value РСУБД Query Parser t0 + t1 + t2 + t3 + t4 + t5 Оптимизатор t0 + t1 + t2 + t3 + t4 Безопасность t0 + t1 + t2 Java API Физический слой пара t, sec Последовательное чтение ~ 100 Мб/сек Произвольное чтение ~ 15 мкс t, sec Кэширование, логирование, блокировки t0 + t1 Словарь данных t0 + t1 + t2 + t3 Кэширование, логирование, блокировки
  • 22. <Insert Picture Here> Почему Oracle NoSQL DB?
  • 23. В каких случаях следует использовать Oracle NoSQL DB? - Терабайты или петабайты данных - Приложение не должно иметь единой точки отказа - Использование множества недорогих серверов (commodity) - Ожидаемое небольшое время отклика простых запросов - Неструктурированная или полуструктурированная модель данных - ACID транзакции - Коммерческая поддержка - Патентные войны
  • 24. <Insert Picture Here> Примеры систем которые могут быть построены на основе Oracle NoSQL?
  • 25. Потенциальные системы на Oracle NoSQL DB? • LDAP подобные системы - простой ответ на простой вопрос Почему? Это быстро! • Хранилище USSD запросов мобильных пользователей Почему? Нет четкой структуры исходных данных • Персонализация пользователей Почему? Нет четкой структуры данных, постоянное добавление нового функционала • Сбор разнотипных данных со счетчиков Почему? Требуется поддержка большого количества одновременных сессий • Хранение видео и изображений (архив) Почему? Огромный объем данных
  • 26. Потенциальные системы на Oracle NoSQL DB? • Логирование интернет трафика (CDR GPRS, web logs) Почему? Данных очень много • Хранилище файлов (фотографии, видео, текст) Почему? Данных может быть очень много и к ним требуется быстрый доступ (системы аналогичные Dropbox, Google disk) • Интернет магазины Почему? Нет четкой структуры данных. Данных может быть много • Антиспам системы Почему? Очень много простых запросов (пример: Mollom) • Бэкапирование различных профилей Почему? Данные не структурированны, данных много
  • 27. <Insert Picture Here> Гибридная архитектура
  • 28. Возможная архитектура Application Layer Application NoSQL DB Driver Store Layer
  • 29. Возможная архитектура Application Layer Application NoSQL DB Driver Preprocessor run Data stream Store Layer
  • 30. <Insert Picture Here> NoSQL, хорошо или плохо?
  • 32. Если есть вопросы Alexey.Filanovskiy@oracle.com http://oracle-nosql.blogspot.com/ http://hadoop-hive.blogspot.ru/ http://www.oracle.com/bigdata