Какой должна быть NoSQL СУБД эпохи облаков? Что такое IBM Cloudant и Apache CouchDB?
Как они связаны друг с другом, и есть ли польза для Open Source проекта от коммерческого облачного сервиса на его основе?
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"IT EventМы рассмотрим важные особенности построения архитектуры распреденных кластеров NoSQL с использованием ресурсов Amazon Web Services, мы затронем такие аспекты как: архитектура гео распределенных кластеров, оптимизация производительности, выбор основных опций для деплоймента и ряд других аспектов. В докладе мы сконцентрируемся на таких популярных базах данных, как Cassandra, MongoDB и некоторых других.
Алексей Рагозин "Java и linux борьба за микросекунды"IT EventJava используется для широкого спектра приложений, некоторые из них могут иметь жёсткие требования по времени отклика.
Но если речь идёт про сотни микросекунд, годится ли Java, в принципе, для таких задач?
Доклад осветит практические аспекты разработки решений с малым временем отклика на платформе Java + Linux
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...OnticoМы создаем nodejs приложения, используя различные современные технологии, такие как Docker, Consul, pm2. Современный спектр решений настолько обширен, что сложно не заблудиться. Как же выбрать нужные вашему проекту технологии, чтобы успешно его запустить и поддерживать? Будут рассказаны истории и, конечно же, даны вредные советы :)
Как на nodejs пройти путь от Hello world приложения до распределённого решения, состоящего из микросервисов?
Мы пройдём жизненный цикл продукта, начав с простого приложения на nodejs. Научимся его правильно запускать и будем постепенно добавлять элементы, убирая при этом ненужные. Так к нашему приложению присоединится гипервизор, а само оно будет разделено на части, где каждая сущность будет управлять своей частью приложения.
Построив таким образом архитектуру на чистом nodejs, мы займёмся развитием приложения, добавим современные технологии и применим новые подходы к организации инфраструктуры. Запакуем приложение в Docker, попутно обсудим, зачем он нужен и что может дать. И, наконец, решим проблему поиска запущенных сервисов и отслеживания их статусов, используя Consul.
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...OnticoВ докладе поделимся опытом построения комплексного процесса последовательного улучшения производительности информационных систем мобильного оператора, расскажем об используемых инструментах и компонентах (Oracle, Tarantool, Java, Jmeter и т.д.).
Особенность нашего оператора в том, что основной канал взаимодействия с клиентом - это мобильное приложение или web Личный кабинет, а не USSD команды и СМС, как у основной массы операторов. Данная особенность создает высокие требования к времени отклика и доступности сервисов и ставит перед нами целый ряд вопросов:
- Как достичь приемлемого времени отрисовки страниц (не более 2х секунд) и не "уронить" backend при увеличении кол-ва абонентов в несколько раз за год до 4х миллионов?
- Как обеспечить приемлемую производительность при наличии сложных оркестрирующих процессов на ESB и достаточно медленного, основанного на Oracle биллинга?
- Как контролировать и улучшать производительность и доступность постоянно и на упреждение, а не когда "жареный петух клюнет"?
Мы расскажем о том, как мы отвечаем на выше обозначенные вопросы. В частности, расскажем о внедрении двух БД - inmemory БД на чтение и Oracle на запись с соответствующей синхронизацией, о технике кэширования на нескольких уровнях, оптимизации синхронных и асинхронных процессов, о постоянном выявлении узких мест на тестировании, о кластеризации и других аспектах улучшения общей и частной производительности и доступности при быстро растущей абонентской базе и беспощадной креативности бизнеса.
Архитектура HAWQ / Алексей Грищенко (Pivotal)OnticoHAWQ — один из лучших на рынке движков SQL-on-Hadoop, который не раз доказывал свою лидирующую позицию в открытых тестированиях. Что еще более интересно, в конце сентября этого года Pivotal открыл его исходный код под лицензией Apache, а также разместил сам проект в инкубаторе Apache (http://hawq.incubator.apache.org), что делает этот инструмент доступным большому кругу пользователей и намного более привлекательным для компаний — лидеров интернет-индустрии.
Работая в Pivotal, я участвовал в развитии и внедрении этого продукта с первого дня его существования.
В этой презентации я раскрою следующие темы:
+ Что такое HAWQ и зачем он был создан.
+ Кластерная архитектура HAWQ.
+ Принципы работы HAWQ.
+ Внутреннее устройство процессов HAWQ.
+ Интеграция с внешними системами.
+ Альтернативные решения.
Миграция существующих приложений в Windows AzureNatalia EfimtsevaСоздание облачных приложений по модели PaaS (Platform as Service) позволяет сосредоточиться на решении задач по созданию программного обеспечения, вместо того чтобы беспокоиться о базовой инфраструктуры. Но иногда построение комплексного решения или интеграция с существующими системами требуется больше контроля, чем предоставляет модель PaaS, требуется контроль над инфраструктурой, т.е. IaaS (Infrastructure as Service). В рамках доклада будут рассмотрены основные архитектурные особенности Windows Azure, которые необходимо учитывать при миграции приложения в PaaS модели, а так же новые инфраструктурные возможности Windows Azure, такие как виртуальные машины и виртуальные сети, которые позволяют использовать IaaS модель миграции.
Российская СУБД Postgres ProAndrey FleytaПрезентация российской компании Postgres Professional о новой версии СУБД Postgres Pro, которая по сравнению с PostgreSQL обладает рядом возможностей необходимых корпоративным клиентам.
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"TechnoparkТехнопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Построение Read Model-ей с использованием потоков событийDenis IvanovВыступление на конференции разработчиков CodeFest 2016 в Новосибирске
Talk at CodeFest 2016 Conference in Novosibirsk
http://2016.codefest.ru/lecture/1098
NuClear River Project
https://github.com/2gis/nuclear-river
https://2gis.gitbooks.io/nuclear-river/content/en/index.html
Вадим Мадисон "Опыт разработки через микросервисы"Tanya DenisyukМы начали разработку через микросервисы когда это еще не было трендом, было не ясно - это реально работающий подход или просто очередная модная штука. Не было понимания как это делать правильно, где подводные камни и что за одним словом “микросервисы” по факту стоит куча всего, что придется узнать, изучить и понять.
Сейчас у нас большой парк микросервисов, но оперировать ими становится все проще - сказывается опыт.
В ходе доклада я поделюсь основными моментами в разработке микросервисов, расскажу как это делаем мы и что для этого используем.
Как FB, Apple и Google разрушают традиции в компьютерном бизнесе, и почему эт...OnticoHighLoad - новый взгляд на инфраструктуру центра обработки данных для современных нужд и приложений. Эволюция инфраструктуры датацентра. Как Facebook совершил “открытие” в железной инфраструктуре.
- Тенденции и принципы развития открытых платформ
Как крупный заказчик может заставить работать производителей железа в своих интересах и полностью уйти от зависимости от производителя;
- “Проблема импортозамещения” – видение и решения
Как уйти от порочной зависимости от производителя оборудования? Переработать, переосмыслить, открыть и заставить мировых производителей IТ-оборудования работать на себя на конкурсной основе.
- Открытые системы сегодня и завтра
Это заставило потребителей, производителей оборудования и разработчиков программного обеспечения совместно переосмыслить все аспекты эксплуатации и производства оборудования.
Примеры открытых систем, преимущества и недостатки:
- Facebook OCP. Проблемы, которые стояли перед Facebook и не решались эффективно известными компаниями лидерами IT-нфраструктуры:
-- Виртуальная программно-определяемая инфраструктура;
-- Максимальная унификация;
-- Сверхпреемственность и защита инвестиций;
-- Энергопотребление и тепловыделение;
-- Компактность и плотность платформ;
-- Обслуживание и ремонтопригодность;
-- Минимизация сервисных затрат.
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...OnticoРИТ++ 2017, Backend Conf
Зал Кейптаун, 6 июня, 18:00
Тезисы:
http://backendconf.ru/2017/abstracts/2542.html
Kafka - распределённый брокер сообщений, нашедший широкое применение как универсальная шина для больших данных. Kafka позволяет как реализовать realtime-обработку большого числа событий, так и построить батчевый pipeline по доставке логов.
Почему мы используем Kafka? Если коротко - унификация. А если чуть подробнее - десятки поставщиков, терабайты логов каждый день, онлайн- и офлайн-pipeline'ы - без единой высокопроизводительной шины данных с этим крайне сложно совладать.
Из доклада вы узнаете о том, почему мы перешли на Kafka, и как она вписалась в наш pipeline. Поймёте, как обеспечить exactly once доставку данных. Узнаете о том, как из-за одной опечатки в несколько раз выросла нагрузка на Kafka, и что мы из этого выяснили. Выясните, какие метрики Kafka стоит мониторить и как по ним понять, что что-то идёт не так.
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureDmitry LazarenkoГибридное облако PaaS на базе Jelastic и Microsoft Azure. Jelastic позволяет создать гибридное облако с возможностью живой миграции приложений между частным облаком и Microsoft Azure, AWS, SoftLayer
Миграция существующих приложений в Windows AzureNatalia EfimtsevaСоздание облачных приложений по модели PaaS (Platform as Service) позволяет сосредоточиться на решении задач по созданию программного обеспечения, вместо того чтобы беспокоиться о базовой инфраструктуры. Но иногда построение комплексного решения или интеграция с существующими системами требуется больше контроля, чем предоставляет модель PaaS, требуется контроль над инфраструктурой, т.е. IaaS (Infrastructure as Service). В рамках доклада будут рассмотрены основные архитектурные особенности Windows Azure, которые необходимо учитывать при миграции приложения в PaaS модели, а так же новые инфраструктурные возможности Windows Azure, такие как виртуальные машины и виртуальные сети, которые позволяют использовать IaaS модель миграции.
Российская СУБД Postgres ProAndrey FleytaПрезентация российской компании Postgres Professional о новой версии СУБД Postgres Pro, которая по сравнению с PostgreSQL обладает рядом возможностей необходимых корпоративным клиентам.
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"TechnoparkТехнопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Построение Read Model-ей с использованием потоков событийDenis IvanovВыступление на конференции разработчиков CodeFest 2016 в Новосибирске
Talk at CodeFest 2016 Conference in Novosibirsk
http://2016.codefest.ru/lecture/1098
NuClear River Project
https://github.com/2gis/nuclear-river
https://2gis.gitbooks.io/nuclear-river/content/en/index.html
Вадим Мадисон "Опыт разработки через микросервисы"Tanya DenisyukМы начали разработку через микросервисы когда это еще не было трендом, было не ясно - это реально работающий подход или просто очередная модная штука. Не было понимания как это делать правильно, где подводные камни и что за одним словом “микросервисы” по факту стоит куча всего, что придется узнать, изучить и понять.
Сейчас у нас большой парк микросервисов, но оперировать ими становится все проще - сказывается опыт.
В ходе доклада я поделюсь основными моментами в разработке микросервисов, расскажу как это делаем мы и что для этого используем.
Как FB, Apple и Google разрушают традиции в компьютерном бизнесе, и почему эт...OnticoHighLoad - новый взгляд на инфраструктуру центра обработки данных для современных нужд и приложений. Эволюция инфраструктуры датацентра. Как Facebook совершил “открытие” в железной инфраструктуре.
- Тенденции и принципы развития открытых платформ
Как крупный заказчик может заставить работать производителей железа в своих интересах и полностью уйти от зависимости от производителя;
- “Проблема импортозамещения” – видение и решения
Как уйти от порочной зависимости от производителя оборудования? Переработать, переосмыслить, открыть и заставить мировых производителей IТ-оборудования работать на себя на конкурсной основе.
- Открытые системы сегодня и завтра
Это заставило потребителей, производителей оборудования и разработчиков программного обеспечения совместно переосмыслить все аспекты эксплуатации и производства оборудования.
Примеры открытых систем, преимущества и недостатки:
- Facebook OCP. Проблемы, которые стояли перед Facebook и не решались эффективно известными компаниями лидерами IT-нфраструктуры:
-- Виртуальная программно-определяемая инфраструктура;
-- Максимальная унификация;
-- Сверхпреемственность и защита инвестиций;
-- Энергопотребление и тепловыделение;
-- Компактность и плотность платформ;
-- Обслуживание и ремонтопригодность;
-- Минимизация сервисных затрат.
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...OnticoРИТ++ 2017, Backend Conf
Зал Кейптаун, 6 июня, 18:00
Тезисы:
http://backendconf.ru/2017/abstracts/2542.html
Kafka - распределённый брокер сообщений, нашедший широкое применение как универсальная шина для больших данных. Kafka позволяет как реализовать realtime-обработку большого числа событий, так и построить батчевый pipeline по доставке логов.
Почему мы используем Kafka? Если коротко - унификация. А если чуть подробнее - десятки поставщиков, терабайты логов каждый день, онлайн- и офлайн-pipeline'ы - без единой высокопроизводительной шины данных с этим крайне сложно совладать.
Из доклада вы узнаете о том, почему мы перешли на Kafka, и как она вписалась в наш pipeline. Поймёте, как обеспечить exactly once доставку данных. Узнаете о том, как из-за одной опечатки в несколько раз выросла нагрузка на Kafka, и что мы из этого выяснили. Выясните, какие метрики Kafka стоит мониторить и как по ним понять, что что-то идёт не так.
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureDmitry LazarenkoГибридное облако PaaS на базе Jelastic и Microsoft Azure. Jelastic позволяет создать гибридное облако с возможностью живой миграции приложений между частным облаком и Microsoft Azure, AWS, SoftLayer
Jelastic для разработчиков ПОDmitry LazarenkoJelastic - гибридная платформа как сервис(PaaS) для компаний- разработчиков ПО на Java, Ruby, .NET, ASP.NET, PHP, Node.JS и Docker. Позволяет строить автомасштабируемые, отказоустойчивые среды для приложений, управлять множеством сред для разработки и тестирования
Fors и big data applianceCleverDATAЦентр решений ФОРС. Презентации продуктов и технологий. Демонстрационный зал аппаратных средств. Проведение тренингов и тестирований. Проработка и оптимизация решений на стеке Oracle. Oracle Big Data Appliance
Drupal в облаке - Владимир ЮневDrupalCamp MSKОблачные технологии предлагают масс преимуществ для размещения веб-приложений. Надежность, экономия, возможность отказаться от своей инфраструктуры, автоматическое масштабирование и многое другое - вот плюсы облачного размещения.
В этом докладе мы рассмотрим как облачная платформа Azure позволит вам получить все преимущества для хостинга проектов на базе Drupal на Linux или Windows в виде PaaS-решения или просто в виртуальных машинах.
Microsoft Azure - введение в основные сервисы для разработки и инфраструктуры...MicrosoftВ рамках доклада для стартапов будут представлены преимущества получения бесплатных мощностей облачной платформы Microsoft Azure, которые можно использовать для быстрого старта своего проекта.
Онлайн миграция контейнеров. Взгляд изнутриJelastic Multi-Cloud PaaSУлучшить портативность приложений без необходимости редизайна во время миграции является одной из важнейших задач DevOps. Из этой презентации вы узнаете как работает и какие проблемы решает живая миграция Jelastic, как можно упростить и ускорить процесс миграции, а также в полной мере использовать все преимущества контейнеров и вертикального масштабирования.
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey ZinovievAlexey Zinoviev Алексей Зиновьев рассказывает о выборе одной из следующих баз данных CouchDB, Neo4j, Mongo, Cassandra, HBase, Riak на Happydev 2013
Article "Choice of NoSQL database for your project: Don't bite off more than you can chew" presented on HappyDev 2013 (IT-conference in Omsk) by Alexey Zinoviev
The main idea of this article is comparison of the most popular NoSQL databases: CouchDB, Cassandra, Mongodb, Riak, Neo4j, HBase
AZadonsky New Cloud ServicesVasily DeminAleksey's presentation from ODay, Oct 30, 2014 about new Mobile Cloud Service and other cloud products/sevices from Oracle Mobile
The impact of the cloud on development by Alexander Klimov, Igor SukharevigorsukharevThe speech we gave on CEE-SECR 2012 (Конференция «Разработка ПО 2012», Центр Digital October, Москва, Россия, 2 ноября 2012)
The impact of the cloud on development by Alexander Klimov, Igor SukharevAlexander KlimovThe speech we gave on CEE-SECR 2012 (Конференция «Разработка ПО 2012», Центр Digital October, Москва, Россия, 2 ноября 2012)
Александр Киракозов "Архитектура загрузчика Яндекс.Диска"YandexКаждый день на Яндекс.Диск заливается более десятка терабайт данных. Из доклада вы узнаете про то, как справиться с такой нагрузкой, и про другие интересные архитектурные особенности сервиса.
Andrii Bereznikov ITEM 2018ITEM"What is available for Ukrainian developers in IaaS?"
What is available for Ukrainian developers in IaaS?
Difference in IaaS vs PaaS
Advantages and Disadvantages of AWS as IaaS provider in Ukrainian market context
Possibilities of Ukrainian IaaS operators for software developers
Решения Brocade для построения IP сетей будущегоARCCNНиколай Аторин — технический эксперт Brocade — о своем видении сетей будущего, как они будут строиться и работать в ближайшее время, что является двигателем таких изменений и какие решения уже сегодня существуют у производителей.
2. Что такое Apache CouchDB?
2
LB1
LB2 (failover)
• Open Source проект под эгидой Apache Software Foundation
• Документ-ориентированная СУБД
• Работа с данными в формате JSON через RESTful API
• Горизонтальное масштабирование на чтение и запись
• Устойчивость к отказам отдельных серверов
• Встроенная мульти-мастер репликация
3. Что такое IBM Cloudant?
3
• Облачный сервис NoSQL СУБД от IBM
• Использует доработанное ядро CouchDB
• Эластичное управление пропускной способностью и ёмкостью
• Географически-распределённая инфраструктура ЦОД
• Реализует ряд расширений и усовершенствований, включая работу с
геоданными
• Новые функции интегрируются в Apache CouchDB
4. Некоторые успешные проекты
4
SeniorAdvisor Healthcare
GameStop Retail
Likeminder Media
YukonBaby Healthcare
Dimagi
Life
Sciences
Skechers Retail
Opteamize Education
RunKeeper Healthcare
Menuat Retail
AppAdvice Media
Cabify Transport
Liberty Mutual Insurance
Morningstar Financial
Hothead Games Media
Kohl’s Retail
Ovation
Computer
Services
Quetzal Retail
SpaceCraft Media
RadPad Media
RSG Media Media
Connio
Computer
Services
Comdata
Computer
Services
https://www.ibm.com/case-studies/search
5. • «Родной» интерфейс и формат данных для Web
• Практически неограниченная масштабируемость
• Гибкость и удобство разработки
• Репликация! – в том числе для мобильных устройств и IoT
• Отсутствие привязки к поставщику (Vendor Lock-In)
Spark SQL
Сильные стороны
5
REST (HTTP/s) API
Data APIs
On-Premises Appliances
Analytics Exchange APIs
Cloud Data Services APIs
JSON, REST, Geospatial,
Mobile
Offline Sync
Cloud and Local
Masterless Nodes
Web & Mobile
Applications Data IngestData Export
6. «Родной» интерфейс и формат данных для Web
6
• Сократить (вовсе исключить!) «сериализацию»
• RESTful API = любые средства разработки
• JSON – «штатный» формат обмена для современных приложений
• Межсетевые экраны и прокси-сервера «открыты по умолчанию»
1. {
2. "_id": "110067407",
3. "_rev": "1-9c45439faa16674951ce450e7b88a6b6",
4. "date": "2017/01/15 16:41:25 +0000",
5. "properties": {
6. "source": "boston",
7. "main_crimecode": "arrest",
8. "shooting": false
9. },
10. "geometry": {
11. "type": "Point",
12. "coordinates": [-
71.08561842,42.3286598]
13. }
14. }
7. Практически неограниченная масштабируемость
7
• Распределённая архитектура
• MVCC, eventual consistency
• Запись не будет «бутылочным горлом»
• Добавление серверов по мере надобности
Начать с малого и расти по мере необходимости
Чтение Запись
8. Гибкость и удобство разработки
8
• Схема данных управляется приложением
• но может контролироваться при записи!
• (обработчик обновлений – «update handler»)
• Индексы по полям
• Полнотекстовые индексы на базе Apache Lucene
• Автоматические расчёты внутри БД по схеме Map-Reduce
• Мобильные приложения (сценарии «Offline first»)
• Работа с географическими данными
9. Интерфейсы для работы с данными
9
Документы JSON Первичный индекс Вторичный индекс
• Прямой поиск по полю _id • Существует всегда
• B-trees
• Значение _id à Документ
• Инкрементальный MapReduce
• B-trees
• Ключ à Поля
• Чтение и запись единичного
документа или их набора с
указанием значения поля _id
• Поиск документов по _id
• Возможность поиска по
диапазону значений
• Анализ диапазона или множества
• Агрегация, статистика,
группировка данных
Полнотекстовый (Lucene) Geospatial CouchDB Mango (Cloudant Query)
• На основе Apache Lucene
• Индексируются все поля или
выбранная часть
• R* trees
• Lat/Long координаты GeoJSON
• Декларативные запросы к стиле
MongoDB
• Запросы Ad-hoc
• Поиск документов по
содержимому
• Возможна группировка и базовые
геопространственные операции
• Сложные геометрии
(polygon, circular string, ...)
• Геометрические вычисления
(intersect, overlaps, …)
• Запросы Ad-hoc
• Операторы (>, <, IN, OR, AND)
• Интуитивно для специалистов с
опытом MongoDB или SQL
10. Репликация
10
Pull
Push
Cluster A Cluster B
Sync
SyncSync
§ Двунаправленная:
Push + Pull = Synchronization
§ Непрерывная либо по запросу
§ Фильтруемая:
Отбор подмножества по условию
§ Надёжная:
Возобновляется после прерывания
• Автоматическое обнаружение конфликтов
• Автоматический выбор «победителя»
• Возможность скорректировать выбор в приложении
12. Разработка мобильных приложений
12
• Готовые инструменты для построения мобильных «Offline First»
приложений
• Cloudant Sync – локальное JSON хранилище для мобильных
устройств, Open Source
• Android: https://github.com/cloudant/sync-android
• iOS: https://github.com/cloudant/CDTDatastore
• SwiftCloudant – официальная Open Source библиотека под Apple Swift
для работы с CouchDB и Cloudant
• https://github.com/cloudant/swift-cloudant
• PouchDB – база данных для работы в браузере
• Синхронизация с CouchDB и Cloudant
13. Интеграция Cloudant и Apache Spark
§ Расширение в составе Apache Bahir
§ Варианты применения:
– Быстрая аналитика над данными
– Трансформация и фильтрация
потока данных перед загрузкой
– Аналитика над данными из
нескольких источников (не только
Cloudant)
§ Поддержка Spark SQL
– SQL-запросы к данным Cloudant
– Обработка результатов на Scala и
Python
– Запись результатов обратно в
Cloudant
13
SparkSession / DataFrame / Dataset APIs
Structured
Streaming
MLlib GraphFrame
TensorFrame
s
SQL
Spark Core
Spark Core (RDD APIs)
Data Source
Connections
Spark
SQL
15. Cloudant Geospatial
15
§ Обширный набор функций поддержки ГИС-приложений
– Накрывающий многоугольник и эллипс, окружность, прямоугольник
– Предсказание пути, оптимизация маршрута, GeoIP
– Сегментирование данных на основании сведений о местоположении
– Стандарты GeoJSON, OGC SFSQL, SQL/MM
§ Локальный доступ (на уровне устройства) к функциям ГИС
§ Интеграция с распространенными ГИС-приложениями
– Поддержка формата WKB (GDAL, Python)
– ESRI ArcGIS
– Интеграция с MapBox
16. Влияние Cloudant на развитие CouchDB
16
• CouchDB 1.0:
• Fauxton (GUI для управления и доступа к данным)
• Полнотекстовый поиск
• Поддержка географических запросов
• CouchDB 2.0:
• Поддержка кластерного режима работы
• CouchDB 3.0:
• Партиционированные запросы
• Перебалансировка кластера для расширения
18. Будущее: Cloudant «on Transaction Engine»
18
• Организация работы с данными на основе FoundationDB
• Снижение задержек при запросах
• Автоматическое масштабирование
• долой ручное шардирование!
• Строгая согласованность данных
• вторичные индексы обновляются синхронно
• Доступен уже сегодня
• Реализация в CouchDB ожидается в версии 4.0
• зависит от решений сообщества
19. Пример конфигурации оборудования Cloudant
19
• Типовой узел «bare metal» кластера Cloudant для IBM IaaS
• 48 процессорных ядер
• 128 Гбайт оперативной памяти
• Диски – один из двух вариантов:
• 2 x 1,2 Тбайт SSD в RAID-0
• 4 x 1,2 Тбайт SSD в RAID-10 (для минимизации отказов узла)
• Локальные SSD-диски критичны для производительности
• Кластер на 12 узлов обычно обеспечивает не менее:
• 20 000 чтений в секунду
• 10 000 записей в секунду
• 1 000 глобальных запросов (сканирований) в секунду
• По опыту, тюнинг (партиционирование, индексы, …) позволяет
достичь ещё более высоких показателей на том же кластере
Дополнено 17 июня 2020 года
YMMV
20. Специфика производительности Cloudant и CouchDB
20
• Cloudant и CouchDB – не база ключ/значение
• Вторичные индексы и полнотекстовый поиск
• Инкрементальные расчёты Map-Reduce
• Встроенная система репликации изменений
• Сравнение «скорострельности» с (вашей любимой NoSQL базой)
имеет смысл только при сопоставимой функциональности
• Диски (предпочтительно – flash-память)
• Вместо хранения всех данных в оперативной памяти
• Перспектива – переход на FoundationDB обеспечит снижение нагрузки
ввода-вывода
• Увеличение и уменьшение размера кластера
• Обычно выполняется группами по 3 узла (или кратно)
• Позволяет масштабировать как чтение, так и запись
Дополнено 17 июня 2020 года