Рост популярности NoSQL - одно из важнейших изменений технологий управления данными. За счет "не реляционности" достигается высочайшая гибкость, скорость работы и масштабируемость БД. NoSQL не исключает использование реляционных БД, обе технологии с пользой дополняют друг друга. Как можно моделировать NoSQL данные, не имеющие жестких схем, и какую пользу можно получить в результате. Слайды с вебинара Embarcadero. На русском языке
Talk is called Deep Dive, so be prepared to hold your breath. In this talk we will take a look at the mechanisms of the SQL Server and literally dive into the bowels of SQL Server, going through all the stages of the request processing.
The new realise of one Microsoft flagman product is approaching – SQL Server. New realizes of SQL Server are not so often, that is why every new realise causes a splash of society activities and wide discussions. We already know the content of the new realise and the product is going through the last stages of testing before the launch. Let’s look, what new things wull bring us new SQL Server.
HappyDev'15 Keynote: Когда все данные станут большими...Alexey Zinoviev
Этот момент обязательно наступит, если ваш проект, ваш бизнес сделаны не для того, чтобы вспыхнуть Фениксом в пламени бюджетов. Его важно не пропустить и начать обряд масштабирования как можно раньше.
Однако, не для каждой ситуации может подойти простое натравливание Hadoop на ваши логи, перелив данных из PostgreSQL в Cassandra или беспощадный тюнинг nginx и JVM.
Всегда стоит идти от задач, от представления о системе аналитики или от определенного заранее уровня отзывчивости системы. В этом докладе я хотел бы сосредоточиться не на инструментарии, столь важном для разработчика, а, напротив, поговорить о различных типах вопросов и болей с которыми приходят к нам заказчики в реальном мире, где никому нет дела до ваших результатов на Kaggle (онлайн-олимпиада по анализу данных) и синтетических тестов производительности, а также о процессе поиска ответов на эти вопросы. В реальном мире конечная идея приложения может измениться до неузнаваемости в один момент.
Приходите, разберем как хорошие случаи, так и типичные ошибки в построении приложений.
Для кого хорошо подойдет данный доклад: для тех, кто не слишком знаком с концепцией BigData, либо хорошо знаком с инструментарием разработчика, но нет определенной ясности в том, а для чего все это нужно. Ну и если вы идете на мастер-класс, то заходите, лишним не будет.
Этот доклад я презентовал на конференции BI тренды 11 октября 2012 года в Москве. http://events.cnews.ru/events/programm/bi_instrumenty_v_rossii__poslednie_trendy.shtml
Talk is called Deep Dive, so be prepared to hold your breath. In this talk we will take a look at the mechanisms of the SQL Server and literally dive into the bowels of SQL Server, going through all the stages of the request processing.
The new realise of one Microsoft flagman product is approaching – SQL Server. New realizes of SQL Server are not so often, that is why every new realise causes a splash of society activities and wide discussions. We already know the content of the new realise and the product is going through the last stages of testing before the launch. Let’s look, what new things wull bring us new SQL Server.
HappyDev'15 Keynote: Когда все данные станут большими...Alexey Zinoviev
Этот момент обязательно наступит, если ваш проект, ваш бизнес сделаны не для того, чтобы вспыхнуть Фениксом в пламени бюджетов. Его важно не пропустить и начать обряд масштабирования как можно раньше.
Однако, не для каждой ситуации может подойти простое натравливание Hadoop на ваши логи, перелив данных из PostgreSQL в Cassandra или беспощадный тюнинг nginx и JVM.
Всегда стоит идти от задач, от представления о системе аналитики или от определенного заранее уровня отзывчивости системы. В этом докладе я хотел бы сосредоточиться не на инструментарии, столь важном для разработчика, а, напротив, поговорить о различных типах вопросов и болей с которыми приходят к нам заказчики в реальном мире, где никому нет дела до ваших результатов на Kaggle (онлайн-олимпиада по анализу данных) и синтетических тестов производительности, а также о процессе поиска ответов на эти вопросы. В реальном мире конечная идея приложения может измениться до неузнаваемости в один момент.
Приходите, разберем как хорошие случаи, так и типичные ошибки в построении приложений.
Для кого хорошо подойдет данный доклад: для тех, кто не слишком знаком с концепцией BigData, либо хорошо знаком с инструментарием разработчика, но нет определенной ясности в том, а для чего все это нужно. Ну и если вы идете на мастер-класс, то заходите, лишним не будет.
Этот доклад я презентовал на конференции BI тренды 11 октября 2012 года в Москве. http://events.cnews.ru/events/programm/bi_instrumenty_v_rossii__poslednie_trendy.shtml
Мастер-класс по BigData Tools для HappyDev'15Alexey Zinoviev
Данила, BigData Tool Master,
собрал Hadoop - кластер,
Запустил Dataset
Он скрипты на Scala
Run'ил на Spark постоянно
И писал в HDFSssss
Если во время доклада "Когда все данные станут большими..." мы будем говорить о вопросах и ответах, то на этом мастер-классе мы уже потопчемся в вотчине BigData-разработчиков.
Начнем с классики на Hadoop, познаем боль MapReduce job, потыкаем Pig + Hive, затем плавно свальсируем в сторону Spark и попишем код в легком и удобном pipeline - стиле.
Для кого хорошо подходит данный мастер-класс: вы умеете читать и понимать код на Java на уровне хотя бы Junior, умеете писать SQL-запросы, в универе вы ходили хоть на одну пару по матану или терверу, вас либо недавно поставили, либо вскоре поставят на проект, где надо уметь ручками работать с вышеперечисленным зверинцем. Ну или вам просто интересно посмотреть на мощь даннодробилок, написанных на Java, и у вас в анамнезе неудачный опыт с NoSQL/SQL, как хранилищем, которое было ответственно за все, включая аналитику.
сервисы персонализации на основе данныхRoman Zykov
Персонализация как сервис на основе данных
Персонализация на основе данных о пользователях играет все большую роль в аналитических CRM системах. Самым первым шагом важно понять, какой продукт или сервис на основе данных вы готовы предложить своим клентам. Далее в докладе будут рассмотрены следующие вопросы:
Достаточно ли у вас данных для персонализации продукта?
Как оценить успешность проекта по персонализации?
Как подружить аналитический и операционный CRM?
Какие основные причины провала таких проектов?
Самостоятельная разработка или outsource?
Насколько важен вопрос правильных технологий?
Где место сегментации клиентов?
В докладе будут вкратце разобраны некоторые примеры российских и зарубежных компаний.
Spark overview presentation by Vsevolod Grabelnikov on Big Data Developers in Moscow meetup. Slides has basical information about Spark and IBM strategy in this direction.
- Как начать развивать систему аналитики в компании, не имея армию data-инженеров.
- Как перейти из состояния «я не понимаю какие квадратики на этой схеме нужны для моих задач» и при этом не уйти в R&D на несколько месяцев.
- Как реализовать потоковую обработку данных на PHP (~40К записей в минуту).
- Какие технические решения применяли в нашем решении и какие факторы учитывали в принятии решений.
Презентация с мероприятия https://habr.com/ru/company/tuturu/blog/426059/
- Data modeling for NoSQL databases is different than relational databases and requires designing the data model around access patterns rather than object structure. Key differences include not having joins so data needs to be duplicated and modeling the data in a way that works for querying, indexing, and retrieval speed.
- The data model should focus on making the most of features like atomic updates, inner indexes, and unique identifiers. It's also important to consider how data will be added, modified, and retrieved factoring in object complexity, marshalling/unmarshalling costs, and index maintenance.
- The _id field can be tailored to the access patterns, such as using dates for time-series data to keep recent
Компания Embarcadero Tech. представляет инновационные технологии, включенные в версию 2016 решения DB PowerStudio, включающего DBArtisan, RapidSQL, DB Optimizer и DB Change Manager. Эти инновации переносят процесс управления производительностью БД на новый уровень.
DBArtisan 2016 это не просто face lifting!Andrew Sovtsov
Компания Embarcadero Tech. представляет инновационные технологии, включенные в версию 2016 решения DB PowerStudio, включающего DBArtisan, RapidSQL и др. инструменты. Эти инновации переносят процесс управления производительностью БД на новый уровень. За счет непрерывного мониторинга и интеллектуальной обработки метрик и показателей "здоровья" БД, сравнения с соответствующими показателями в прошлом, обеспечиваются наглядные динамические панели состояния и предоставляются важнейшие рекомендации для поддержки производительности на высшем уровне, наиболее оптимальные варианты SQL
InterBase XE7: Применение Change Views для синхронизации данныхAndrew Sovtsov
В последней версии СУБД Interbase XE7 появилась технология ChangeViews, которая резко упрощает и ускоряет синхронизацию изменений в базах данных Interbase. Как с помощью этой технологии упростить и оптимизировать процессы обеспечения целостности и согласованности данных, расскажет эксперт Дмитрий Кузьменко (iBase.ru). На русском языке.
Запись трансляции: http://youtu.be/0PAY8HohwWc
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах EmbarcaderoAndrew Sovtsov
Технологии "Больших данных" все чаще находят свое место в информационных системах большинства компаний. Специалисты по работе с данными нуждаются в удобных решениях для работы с новыми технологиями в смешанных, многоплатформенных средах. Какие решения предлагает сегодня Embarcadero? Для архитекторов и специалистов по моделированию данных, администраторов БД и разработчиков серверных частей ИС. На русском языке.
Запись вебинара: http://youtu.be/sL5asNgFFG0
Embarcadero Team Server для администраторов БДAndrew Sovtsov
Компания Embarcadero Tech. представляет инновационные технологии, включенные в версию 2016 решения DB PowerStudio. За счет непрерывного мониторинга и интеллектуальной обработки метрик и показателей "здоровья" БД, сравнения с соответствующими показателями в прошлом, обеспечиваются наглядные динамические панели состояния и предоставляются важнейшие рекомендации для поддержки производительности на высшем уровне, наиболее оптимальные варианты SQL. Непрерывный мониторинг обеспечивается специализированным ПО Embarcadero DB Team Server. На вебинаре рассмотрены возможности этого сервера, его установка и настройка
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБДAndrew Sovtsov
Темы, рассмотренные на вебинаре:
знакомство с командной разработкой, работой с объектами БД
Как происходит отладка ..SQL
Зачем нужны Favorites и закладки
Как увидеть Explain-plans для запросов
Горячие клавиши, шаблоны, подстановка SQL
Как работает Query Builder
10 причин перехода пользователей с ERwin на Embarcadero ER/StudioAndrew Sovtsov
Компания CA объявила ERwin, как 'discontinued'. Многие пользователи ERwin стоят перед выбором, на какой инструмент моделирования данных стоит переходить для удобной и эффективной работы. Перед ними стоят главные вопросы:
- Какие возможности являются наиболее важными?
- Сколько потребуется времени на переход и изучение?
- Разумное сравнение средств.
- Какой инструмент использует больше инноваций?
- Какой является лучшей инвестицией в будущем?
Даются ответы на эти и другие вопросы на основе опыта отечественных и зарубежных пользователей
На русском языке.
Мастер-класс по BigData Tools для HappyDev'15Alexey Zinoviev
Данила, BigData Tool Master,
собрал Hadoop - кластер,
Запустил Dataset
Он скрипты на Scala
Run'ил на Spark постоянно
И писал в HDFSssss
Если во время доклада "Когда все данные станут большими..." мы будем говорить о вопросах и ответах, то на этом мастер-классе мы уже потопчемся в вотчине BigData-разработчиков.
Начнем с классики на Hadoop, познаем боль MapReduce job, потыкаем Pig + Hive, затем плавно свальсируем в сторону Spark и попишем код в легком и удобном pipeline - стиле.
Для кого хорошо подходит данный мастер-класс: вы умеете читать и понимать код на Java на уровне хотя бы Junior, умеете писать SQL-запросы, в универе вы ходили хоть на одну пару по матану или терверу, вас либо недавно поставили, либо вскоре поставят на проект, где надо уметь ручками работать с вышеперечисленным зверинцем. Ну или вам просто интересно посмотреть на мощь даннодробилок, написанных на Java, и у вас в анамнезе неудачный опыт с NoSQL/SQL, как хранилищем, которое было ответственно за все, включая аналитику.
сервисы персонализации на основе данныхRoman Zykov
Персонализация как сервис на основе данных
Персонализация на основе данных о пользователях играет все большую роль в аналитических CRM системах. Самым первым шагом важно понять, какой продукт или сервис на основе данных вы готовы предложить своим клентам. Далее в докладе будут рассмотрены следующие вопросы:
Достаточно ли у вас данных для персонализации продукта?
Как оценить успешность проекта по персонализации?
Как подружить аналитический и операционный CRM?
Какие основные причины провала таких проектов?
Самостоятельная разработка или outsource?
Насколько важен вопрос правильных технологий?
Где место сегментации клиентов?
В докладе будут вкратце разобраны некоторые примеры российских и зарубежных компаний.
Spark overview presentation by Vsevolod Grabelnikov on Big Data Developers in Moscow meetup. Slides has basical information about Spark and IBM strategy in this direction.
- Как начать развивать систему аналитики в компании, не имея армию data-инженеров.
- Как перейти из состояния «я не понимаю какие квадратики на этой схеме нужны для моих задач» и при этом не уйти в R&D на несколько месяцев.
- Как реализовать потоковую обработку данных на PHP (~40К записей в минуту).
- Какие технические решения применяли в нашем решении и какие факторы учитывали в принятии решений.
Презентация с мероприятия https://habr.com/ru/company/tuturu/blog/426059/
- Data modeling for NoSQL databases is different than relational databases and requires designing the data model around access patterns rather than object structure. Key differences include not having joins so data needs to be duplicated and modeling the data in a way that works for querying, indexing, and retrieval speed.
- The data model should focus on making the most of features like atomic updates, inner indexes, and unique identifiers. It's also important to consider how data will be added, modified, and retrieved factoring in object complexity, marshalling/unmarshalling costs, and index maintenance.
- The _id field can be tailored to the access patterns, such as using dates for time-series data to keep recent
Компания Embarcadero Tech. представляет инновационные технологии, включенные в версию 2016 решения DB PowerStudio, включающего DBArtisan, RapidSQL, DB Optimizer и DB Change Manager. Эти инновации переносят процесс управления производительностью БД на новый уровень.
DBArtisan 2016 это не просто face lifting!Andrew Sovtsov
Компания Embarcadero Tech. представляет инновационные технологии, включенные в версию 2016 решения DB PowerStudio, включающего DBArtisan, RapidSQL и др. инструменты. Эти инновации переносят процесс управления производительностью БД на новый уровень. За счет непрерывного мониторинга и интеллектуальной обработки метрик и показателей "здоровья" БД, сравнения с соответствующими показателями в прошлом, обеспечиваются наглядные динамические панели состояния и предоставляются важнейшие рекомендации для поддержки производительности на высшем уровне, наиболее оптимальные варианты SQL
InterBase XE7: Применение Change Views для синхронизации данныхAndrew Sovtsov
В последней версии СУБД Interbase XE7 появилась технология ChangeViews, которая резко упрощает и ускоряет синхронизацию изменений в базах данных Interbase. Как с помощью этой технологии упростить и оптимизировать процессы обеспечения целостности и согласованности данных, расскажет эксперт Дмитрий Кузьменко (iBase.ru). На русском языке.
Запись трансляции: http://youtu.be/0PAY8HohwWc
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах EmbarcaderoAndrew Sovtsov
Технологии "Больших данных" все чаще находят свое место в информационных системах большинства компаний. Специалисты по работе с данными нуждаются в удобных решениях для работы с новыми технологиями в смешанных, многоплатформенных средах. Какие решения предлагает сегодня Embarcadero? Для архитекторов и специалистов по моделированию данных, администраторов БД и разработчиков серверных частей ИС. На русском языке.
Запись вебинара: http://youtu.be/sL5asNgFFG0
Embarcadero Team Server для администраторов БДAndrew Sovtsov
Компания Embarcadero Tech. представляет инновационные технологии, включенные в версию 2016 решения DB PowerStudio. За счет непрерывного мониторинга и интеллектуальной обработки метрик и показателей "здоровья" БД, сравнения с соответствующими показателями в прошлом, обеспечиваются наглядные динамические панели состояния и предоставляются важнейшие рекомендации для поддержки производительности на высшем уровне, наиболее оптимальные варианты SQL. Непрерывный мониторинг обеспечивается специализированным ПО Embarcadero DB Team Server. На вебинаре рассмотрены возможности этого сервера, его установка и настройка
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБДAndrew Sovtsov
Темы, рассмотренные на вебинаре:
знакомство с командной разработкой, работой с объектами БД
Как происходит отладка ..SQL
Зачем нужны Favorites и закладки
Как увидеть Explain-plans для запросов
Горячие клавиши, шаблоны, подстановка SQL
Как работает Query Builder
10 причин перехода пользователей с ERwin на Embarcadero ER/StudioAndrew Sovtsov
Компания CA объявила ERwin, как 'discontinued'. Многие пользователи ERwin стоят перед выбором, на какой инструмент моделирования данных стоит переходить для удобной и эффективной работы. Перед ними стоят главные вопросы:
- Какие возможности являются наиболее важными?
- Сколько потребуется времени на переход и изучение?
- Разумное сравнение средств.
- Какой инструмент использует больше инноваций?
- Какой является лучшей инвестицией в будущем?
Даются ответы на эти и другие вопросы на основе опыта отечественных и зарубежных пользователей
На русском языке.
2015/06/18 Как работать с InterBase Change Views в Delphi программах Andrew Sovtsov
В СУБД Interbase XE7 появилась технология ChangeViews, которая резко упрощает и ускоряет синхронизацию изменений в базах данных Interbase, широко применяемых для хранения информации в клиент-серверных системах и мобильных приложениях.
Начиная с RAD Studio XE8, эта технология получила поддержку в универсальной библиотеке доступа к данным на различных платформах – FireDAC. На примерах будут показаны приемы создания приложений с использованием технологии ChangeViews с помощью компонент FireDAC
С Дмитрием Кузьменко (iBase.ru). На русском языке.
RAD Server для разработки современных корпоративных системAndrew Sovtsov
Компания Embarcadero предлагает новый продукт. RAD Server – это готовая «под-ключ» back-end платформа, чтобы быстро создавать и развертывать свои прикладные сервисы. До появления RAD Server разработчики создавали back-end серверы приложений для Delphi и C++ Builder с использованием серверных наборов инструментальных средств, таких как DataSnap, который предоставлял немного базисных компонентов для серверов приложений, но оставлял большую часть разработки для разработчика. С помощью RAD Server, разработчики теперь могут просто загрузить Delphi и C++ методы, реализующие бизнес-логику, добавить несколько пользователей и начать работу. На вебинаре рассказано как:• Создаются и управляются конечные точки REST/JSON
• Применяется контроль доступа.
• Подключиться к любой популярной СУБД предприятия и облачному сервису.
• Отслеживать и реагировать на местоположение пользователя.
• Посылать уведомления
• Интегрировать интеллектуальные устройства IoT в свое решение.
• Размещать RAD Server в облаке.
Управление метаданными графических файлов на примере VCL приложения WindowsAndrew Sovtsov
Практически все изображения, полученные с помощью современной техники или графического редактора, также содержат ценные дополнительные данные о параметрах съемки, аппаратуры и даже местоположении точки съемки. Эти сведения дают полезную информацию, которую можно было бы выделить, собрать и загрузить в БД для дальнейшего анализа. На вебинаре рассказано, как это сделать на практическом примере небольшой программы, созданной в RAD Studio на базе VCL. Рассмотрены: open-source CCR, JSON Framework, JSON Writer/Builder, MongoDB, проект БД Grafics, FireDAC MongoDocument + Builder.
А также Delphi anonymous methods, Delphi class helpers
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me for other informations and to download the slides
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey Zinoviev
Alexey 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
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСYury Petrov
В докладе я постараюсь донести до аудитории общую концепцию построения инфраструктуры Big Data, которую многие не видят.
Будут и инсайты и самый главный из них это то, что за долгое время работы с Big Data я таки вывел определение для этого термина
Миграция БД - практический_подход с инструментами EmbarcaderoAndrew Sovtsov
Слайды вебинара компании Embarcadero. Запись вебинара: https://www.youtube.com/watch?v=X9EjeB-aVHM
Одна из наиболее часто возникающих задач - выполнить перенос структур и необходимых данных из существующей БД в новую реализацию или на другую платформу СУБД. Предложены варианты комплексного решения подобных задач с использованием программных средств Embarcadero
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)Ontico
Сегодня много дискуссий о том, что лучше - MySQL или PostgreSQL? Однако перед тем, как выбирать именно реляционную базу данных для своего проекта, стоит понять, является ли реляционная база данных наилучшим решением для него.
В рамках этого доклада мы сравним наиболее популярную реляционную базу данных с открытым кодом с наиболее популярным хранилищем документов с открытым кодом. Мы определим, в каких случаях эффективнее всего работает MySQL, а в каких - MongoDB. Мы также рассмотрим ситуации, в которых ни одна из этих баз данных не будет лучшим решением и в которых целесообразно остановить свой выбор на других технологиях.
Соединяя точки. Моделе-ориентированный процесс системного проектированияYulia Madorskaya
Презентация вице-президента 3SL, в которой описываются принципы MBSE, дается пример MBSE процесса, который использует NASA на базе 3SL Cradle и описываются диаграммы SysML
Druid is one useful and popular tool in the Big Data world. It is this OLAP system that allows you to efficiently process, store and query data. Which confirms the demand for Druid among tools in the Big Data processing environment.
With Vladimir Iordanov we will talk about how Druid works, what it consists of and what its capabilities are. Vladimir will introduce us to the Druid components, talk about the cluster architecture, how data processing is going on.
3. Темы
1. NoSQL и Реляционные БД
2. NoSQL БД проектируется не так, как
реляционная. Особенности
3. Инструменты для проектирования и
моделирования
4. Моделирование – полезно!
5. Разные схемы драматически влияют на
производительность
4. Что требуется от хранилища данных?
• Удобная для решения моих задач структура
данных
• Скорость и возможность масштабирования
(верт. и гор. )
• Богатые и удобные средства доступа и
разработки приложений
5. Что означает «масштабирование»?
• Перенос обработки как можно ближе к
данным
• Массивно-параллельная обработка
• Использование более дешевого,
стандартного оборудования, но в больших
количествах
• Оптимизация для:
запросов / чтения / вопросов / аналитики
8. - это?..
• Самая популярная NoSQL СУБД (на 4 месте в
общем списке)
• Тип NoSQL: Документ-ориентированная СУБД
• Документы представляются как Name/Value
пары в формате BSON
• Binary представление JSON (с минимальными отличиями)
• Встроенные документы и массивы снижают
потребность в операциях join
• Гибкие схемы – для хранения
неструктурированных и комплексных данных
• Легко масштабируется
• Простая установка, open source, free
User
• Name
• Email
Address
Article
• Name
• Slug
• Publish date
• Text
• Author
Tag[]
• Value
Comment[]
• Comment
• Date
• Author
Category[]
• Value
В базе данных MongoDB хранятся
документы
9. MongoDB
Горизонтальная масштабируемость
{ author : “steve”,
date : new Date(),
text : “About MongoDB...”,
tags : [“tech”, “database”]}
Хранит
документы
Приложение
Высокая
производительность
Целостные
данные
10. Богатые возможности
• Богатый язык запросов (полный CRUD)
• GeoSpatial – географические запросы
• Текстовый поиск
• Гибкие схемы
• Aggregation и MapReduce
• GridFS (distributed & replicated file storage для больших
объектов)
• Интеграция с Hadoop, Storm, Solr и т.п.
Автоматическая репликация
данных
Горизонтальное масштабирование
11. Schema для записи/ Schema на чтение
Schema для записи(RDBMS)
Директивное моделирование данных:
• Создать схему БД
• Загрузить данные в формате RDBMS
• Запросы к данным в формате RDBMS
Новые колонки должны быть добавлены ДО
ТОГО, как новые данные будут помещены в
систему.
Хорошо для Known Unknowns
(повторяемости)
Schema на чтение(Hadoop/NoSQL)
Описательное моделирование данных:
• Собрать данные в натуральном формате
• Создать схему
• Запросы к данным в натуральном
формате
Новые данные могут появляться в любое
время и появляться задним числом если
схема правильно описывает их
Хорошо для Unknown Unknowns
(исследования)
12. Терминология MongoDB
RDBMS MongoDB
Catalog / Database Database
Table Collection
Record JSON document
SQL CRUD = Insert, Find, Update,
Delete, и т.п. Аргументы в
формате JSON.
SELECT (joins,
nested SELECT’s,
etc)
Single collection Find (no
joins)
Transaction / ACID Single document / ACID
Foreign key --
13. Устройство MongoDB. Documents. Чтение.
db.Restaurants.Find({})
db.Restaurants.Find({“address.street:”: “2 Avenue”})
• Гибкий язык запросов в формате JSON-document, включающий
разделы:
– Projection – список выдаваемых полей (как список SELECT)
– Match – критерии отбора (аналог WHERE)
– Sort – критерии сортировки (аналог ORDER BY)
• Операции join отсутствуют
• Возвращает cursor с отобранными JSON-документами
14.
15. Хранение медицинских данных (историй больных)
• Hospitals
– Работают доктора
• Doktors
– Лечат пациентов
– Выполняют процедуры
– Работают в больнице
• Patients
– Лечатся у доктора
– Принимают процедуры
• Procedures
– Назначаются пациентам
– Выполняются доктором
– Записываются в журнал
– Различные метрики
• Records
– Относятся к процедурам
– Сложные данные
– Переменное число полей
17. Реляционная модель данных
• Запросы по любому полю
• Замена по месту
• Универсальная для всех запросов и операций
• Табличное, «плоское» хранение
• Сложные нормализованные, «жесткие» схемы
• Каждое поле содержит единственное значение
строго определенного типа
• Нормализация приводит к необходимости
операций JOIN «мелких» таблиц
• Поддержка межтабличных транзакций на
уровне СУБД
18. Rich Documents : сложные и гибкие структуры данных
{
first_name: ‘Paul’,
surname: ‘Miller’,
cell: ‘+447557505611’
city: ‘London’,
location: [45.123,47.232],
Profession: [banking, finance, trader],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
]
}
Fields can contain an array of sub-documents
Fields
Typed field values
Fields can contain
arrays
19. Документальная модель данных
• «Представляем» данные больше на уровне важнейших сущностей
(верхнего уровня)
• Учитываем как они будут представлены в физической БД
• Можно применять агрегирование информации
Преимущества ‘Rich Documents’
• E-commerce (например, Magento): много «движущихся» частей в
БД. Сложно что-то изменить – нужно «тронуть» слишком многое
• Реализация на MongoDB: весь Purchase Order целиком содержится
в одном документе – все изменения затрагивают только это
документ
20. Критерии проектирования схемы документальной БД
• Предполагаемые схемы доступа к данным:
• CRUD
• Как мы обрабатываем эти данные?
– Динамические запросы
– Вторичные индексы
– Атомарные изменения
– Использование Map Reduce
• % Read/Write
• Типы Update – модификации
данных
• Типы важнейших и наиболее
частых запросов
• Жизненный цикл данных
Главное правило
Проектируйте документы для
конкретных приложений
21. Моделирование отношений
• В документной модели отсутствуют операции JOIN. Реализуются в
приложениях
• «Отношения» отражают связи в реальном мире
• Существует несколько способов реализации отношений в
документной модели данных
• Выбор зависит от самих данных и приложений
• Шаблоны:
– 1:1
– 1:M
– M:N
22. Ссылки
Procedure
{
"_id" : 333,
"date" : "2003-02-09T05:00:00"),
"hospital" : “County Hills”,
"patient" : “John Doe”,
"physician" : “Stephen Smith”,
"type" : ”Chest X-ray",
”result" : 134
}
Results
{
“_id” : 134
"type" : "txt",
"size" : NumberInt(12),
"content" : {
value1: 343,
value2: “abc”,
…
}
}
• Используются две разные коллекции и ссылка
• Аналогично реляционной модели
В MongoDB нет
многодокументных
транзакций. Реализуются
в приложении
30. Отношения M:N. Общие рекомендации
• Что применять, вложения или ссылки
определяется:
1. Дублированием данных
• Вложение может привести к дублированию
данных
• Это допустимо в системах, где мало
модификаций, много операций чтения
2. Ссылки помогут если связанных объектов слишком
много
• Гибридный подход
• Использовать оба способа
{
_id: 2,
name: “Oak Valley Hospital”,
city: “New York”,
beds: 131,
physicians: [12345, 12346]}
{
_id: 12345,
name: “Joe Doctor”,
address: {…},
…}
{
_id: 12346,
name: “Mary Well”,
address: {…},
…}
Hospitals
Reference
Doktors
33. Другие стандартные шаблоны проектирования
• Наследование
Решается легко за счет гибкой схемы
• Деревья
– Фактически – отношения 1:m, m:n (графы)
– В качестве ссылок могут использоваться _id «родителей» или «детей»
– Деревья могут быть очень «высокими»
– Чаще всего применяется «гибридный подход»
• Очереди: например, упорядоченный список заданий, задание
должно выполниться только один раз, список выполняющихся
– Поле “in_progress”: F|T
– Поиск: db.jobs.findAndModify({…})
35. Из приборов приходят данные
{
deviceId: 123456,
spO2: 88,
pulse: 74,
bp: [128, 80],
ts: ISODate("2013-10-16T22:07:00.000-0500")
}
• Реляционный подход: один документ в минуту для устройства
36. Rich Document
{
deviceId: 123456,
spO2: { 0: 88, 1: 90, …, 59: 92},
pulse: { 0: 74, 1: 76, …, 59: 72},
bp: { 0: [122, 80], 1: [126, 84], …, 59: [124, 78]},
ts: ISODate("2013-10-16T22:00:00.000-0500")
}
• Один документ для прибора в час (с поминутной модификацией)
37. Влияние схемы на производительность и ресурсы
Document Per Minute Document Per Hour
Number Documents
52.6 B 876 M
Total Index Size 6364 GB 106 GB
_id index 1468 GB 24.5 GB
{ts: 1, deviceId: 1} 4895 GB 81.6 GB
Document Size 92 Bytes 758 Bytes
Database Size 4503 GB 618 GB
• 100K приборов
• данные за 1 год
100000 *
365 * 24 *
60
100000 *
365 * 24
100000 *
365 * 24 *
60 * 130
100000 *
365 * 24 *
130
100000 *
365 * 24 *
60 * 92
100000 *
365 * 24 *
758
38. Архитектура и модели в эпоху NoSQL
• Модели данных содержат гораздо больше, чем просто диаграммы
• Есть много вариантов использования NoSql. Рассмотрите все
способы
• Современные архитектуры данных чаще всего представляют
смешанные решения. Нельзя поддерживать только одну часть из
общего
39. Классические СУБД и технологии Hadoop могут работать вместе
Программная
аналитика
Стандартные
Средства (SQL)
Реляционные
Многоструктурные
данные
SQL
Hadoop
DW
Stagingdata
Data
Warehouse
Анализ
данных
Delphi, Java, C++, C#, PHP, Python,
Perl, Ruby
43. Итоги
• Проектирование данных для NoSQL отличается от RDBMS
• Хотя основные принципы проектирования данных те же
• Сфокусированность на том, как приложения обрабатывают данные
• Легкая эволюция схемы для соответствия изменившимся
требованиям
• Проект данных оказывает драматическое влияние на
производительность и масштабирование
• Пользуйтесь новой степенью свободы разумно
44. Передовая поддержка Big Data в Data Architect
• MongoDB
– Сертификация для MongoDB версий 2.x и 3.0
– Поддержка прямого проектирования (генерация незаполненного шаблона
на JSON)
– Улучшения аутентификации
• Сертификация для HDP 2.1
• Поддержка Sybase IQ 15.x, 16.x
45. Архитектура данных, управляемая бизнесом
• ER/Studio улучшает обозримость и совместное использование
информационных активов
• Более эффективное и автоматизированное моделирование данных
• Распространение общих моделей и метаданных в рамках компании
• Ведение бизнес-глоссариев с четкими терминами и определениями
• Создает основу решений для соответствия нормам, DG (data
governance), и MDM (master data management)
46. ER/Studio Enterprise Team Edition
47
Включает:
ER/Studio Data Architect
Моделирование и анализ информационных активов
компании для получения новых прибылей
ER/Studio Team Server
Совместная работа с корпоративными моделями
данных и метаданными
Repository
Управление объектами моделей с применением
версионности и Agile-методик управления
изменениями
MetaWizard
Интеграция разнообразных источников данных с
помощью кросс-платформенных метаданных
Business Architect
Создание концептуальных и моделей бизнес-
процессов для понимания контекста данных
Software Architect
Визуальный анализ и проектирование ПО на UML s
Viewer
Data Lineage
UDM
Дополнительные продукты
48. Спасибо за внимание!
Powering Today’s Applications and Data
Андрей Совцов
Embarcadero
Email: Andrew.Sovtsov@Embarcadero.com
Blog: http://embt.co/ASovtsov
Tel: +7(495)708 4393
Записи вебинаров: http://embt.co/MrAndySova
Блоги Embarcadero
(все языки):
http://community.embarcadero.com/index.php/blogs
Более подробно о семействе продуктов
ER/Studio:
http://www.embarcadero.com/data-modeling
Ознакомительная версия:
http://www.embarcadero.com/downloads