ݺߣ

ݺߣShare a Scribd company logo
Marklogic
  как обуздать сотни гигабайт
  слабо-структурированных данных


Антон Язовский
Тамтэк, Омск

@yazovsky
ayazovskiy@thumbtack.net
О чем проект?




                1/21
О чем проект?

•   обрабатывать данные из различных источников

•   позволять искать по сложным запросам

•   показывать слабо-структурированную информацию

•   бизнес логика

•   e-commerce (продажи, куда без них)

•   social

•   etc..




                                                    2/21
О чем проект?

•   15 млн документов с перспективой в 100 млн

•   предоставлять удобный способ поиска

•   масштабироваться горизонтально

•   гибкость к изменению формата данных VS валидация данных
    на соответствие базовым правилам

•   обладать высокой отказоустойчивостью




                                                              3/21
«MarkLogic Server is a document-centric, transactional,
search-centric, structure-aware, schema-agnostic,
XQuery- and XSLT-driven, high performance, clustered,
database server»




                                                          4/21
«MarkLogic Server is a document-centric, transactional,
search-centric, structure-aware, schema-agnostic,
XQuery- and XSLT-driven, high performance, clustered,
database server»

… масштабируемое транзакционное …




                                                          4/21
«MarkLogic Server is a document-centric, transactional,
search-centric, structure-aware, schema-agnostic,
XQuery- and XSLT-driven, high performance, clustered,
database server»

… масштабируемое транзакционное хранилище
документов …




                                                          4/21
«MarkLogic Server is a document-centric, transactional,
search-centric, structure-aware, schema-agnostic,
XQuery- and XSLT-driven, high performance, clustered,
database server»

… масштабируемое транзакционное хранилище
документов с обширными возможностями поиска
используя языки XQuery и/или XSLT…


                                                          4/21
Marklogic

•   актуальный релиз - 6 (19 сентября, 2012)

•   номер один XML хранилище в мире *

    Среди клиентов:

•   Организаторы летних олимпийских игр в Лондоне 2012

•   Федеральное управление гражданской авиации США

•   Департамент транспорта США

•   The Defense Information Systems Agency



                                                         5/21
Marklogic




            6/21
Документо-ориентированная

<document
            xsi:schemaLocation="http://yoursite.com/article article.xsd”
            xmlns:dc="http://yoursite.com/dc"
            xmlns="http://marklogic.com/articl"
            uri=”/article/maxim/123”>

            <meta>
                       <dc:type>journal-article</dc:type>
                       <dc:title>Анна Курникова</dc:title>
                       <source uri=”/journal/maxim”>MAXIM</source>
                       <pub_year>2004</pub_year>
            </meta>
            <body> images!!! </body>


</document>


                                                                           7/21
Документо-ориентированная

•   избыточный синтаксис

•   ограниченность иерархической модели данных (где мои join'ы?!)

•   неоднозначность структуры

•   XML - прошлый век! JSON - рулит! :)




                                                                    8/21
Документо-ориентированная

•   открытый W3C стандарт

•   простой, человеко-читаемый формат

•   способы гибкой валидации (привет XSD, DTD)

•   инструменты преобразования и визуализации (всемогущий XSL)

•   языки запросов xQuery, xPath (W3C)




                                                                 9/21
Schema Agnostic

                  •   слабо-структурированные
                      данные VS схема!

                  •   фокус на элементы, а не на
                      структуру




                                           10/21
Search Centric

                 •   XDBC

                 •   HTTP

                 •   WebDAV


                 •   клиентская библиотека

                 •   REST API

                 •   web интерфейс




                                             11/21
Search Centric

•   полнотекстовый поиск

    search:search("blackjack and hookers")

•   поиск по значениям элемента или аттрибута

•   range индексы (искать с используя сравнения - “>”, “<”, “=”)

•   fields - alias для набора элементов

•   facets, подсказки, геолокационные запросы

•   и еще около сотни поисковых функций




                                                                   12/21
Search Centric




                 13/21
Масштабируемость




                   14/21
Масштабируемость

Forest - это репозиторий документов (папка на диске)

Host / Node - это один экземпляр Marklogic Server

Роли: Data Node (d-node) и Evaluator Node (e-node)




                                                       15/21
Масштабируемость




                   16/21
Масштабируемость

•   одна редакция Marklogic Server

•   внешний load-balancer

•   одна платформа на кластер

•   shared nothing архитектура




                                     17/21
Отказоустойчивость

•   они настоящая команда!

•   heartbeat внутри кластера

•   автоматическое управление составом кластера

•   взаимовыручка




                                                  18/21
«Один за всех - и все за одного!»
                      д'Артаньян одобряет




                                            19/21
Оно того стоит?




                  20/21
21/21
Ad

Recommended

Semantic technologies for business. DataFabric core. 2017
Semantic technologies for business. DataFabric core. 2017
Timur Ovadia Berezin
XML Performance
XML Performance
Alexandro Colorado
XING AG FY2011 results presentation (prelim)
XING AG FY2011 results presentation (prelim)
XING SE
Xiph license
Xiph license
Disha Singh
Xmastree
Xmastree
Josep Piris
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
Ontico
Поиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решений
aragozin
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...
Marcus Akoev
Hpc Day
Hpc Day
Oleg Nazarevych
2 неделя 27_03_2013
2 неделя 27_03_2013
Vladimir Kukharenko
Семантическое ядро рунета
Семантическое ядро рунета
CEE-SEC(R)
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
Choister
Choister
Choister
Choister
Choister
Choister
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Ontico
Применение онтологических структур в ERP-системах
Применение онтологических структур в ERP-системах
Anatoly Simkin
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
Computer Science Club
разработка бизнес приложений (9)
разработка бизнес приложений (9)
Alexander Gornik
Pustovit presentation
Pustovit presentation
Michael Pustovit
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
odnoklassniki.ru
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ru
Dmitry Buzdin
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Ontico
Создание электронной библиотеки научных трудов на платформе Dspace
Создание электронной библиотеки научных трудов на платформе Dspace
bntulibrary
тема 12
тема 12
Anastasia Snegina
АРМ - платформа разработки проекта "Госархивы СПб"
АРМ - платформа разработки проекта "Госархивы СПб"
devclub
апрель
апрель
Надежда Мусиенко
Современная система управления порталом для создания сервисов в интернет ново...
Современная система управления порталом для создания сервисов в интернет ново...
ddushkin
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
sportgid

More Related Content

Similar to Опыт использования Xml субд Marklogic (20)

Hpc Day
Hpc Day
Oleg Nazarevych
2 неделя 27_03_2013
2 неделя 27_03_2013
Vladimir Kukharenko
Семантическое ядро рунета
Семантическое ядро рунета
CEE-SEC(R)
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
Choister
Choister
Choister
Choister
Choister
Choister
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Ontico
Применение онтологических структур в ERP-системах
Применение онтологических структур в ERP-системах
Anatoly Simkin
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
Computer Science Club
разработка бизнес приложений (9)
разработка бизнес приложений (9)
Alexander Gornik
Pustovit presentation
Pustovit presentation
Michael Pustovit
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
odnoklassniki.ru
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ru
Dmitry Buzdin
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Ontico
Создание электронной библиотеки научных трудов на платформе Dspace
Создание электронной библиотеки научных трудов на платформе Dspace
bntulibrary
тема 12
тема 12
Anastasia Snegina
АРМ - платформа разработки проекта "Госархивы СПб"
АРМ - платформа разработки проекта "Госархивы СПб"
devclub
апрель
апрель
Надежда Мусиенко
Современная система управления порталом для создания сервисов в интернет ново...
Современная система управления порталом для создания сервисов в интернет ново...
ddushkin
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
sportgid
Семантическое ядро рунета
Семантическое ядро рунета
CEE-SEC(R)
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Ontico
Применение онтологических структур в ERP-системах
Применение онтологических структур в ERP-системах
Anatoly Simkin
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
Computer Science Club
разработка бизнес приложений (9)
разработка бизнес приложений (9)
Alexander Gornik
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
odnoklassniki.ru
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ru
Dmitry Buzdin
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Ontico
Создание электронной библиотеки научных трудов на платформе Dspace
Создание электронной библиотеки научных трудов на платформе Dspace
bntulibrary
АРМ - платформа разработки проекта "Госархивы СПб"
АРМ - платформа разработки проекта "Госархивы СПб"
devclub
Современная система управления порталом для создания сервисов в интернет ново...
Современная система управления порталом для создания сервисов в интернет ново...
ddushkin
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
sportgid

Опыт использования Xml субд Marklogic

  • 1. Marklogic как обуздать сотни гигабайт слабо-структурированных данных Антон Язовский Тамтэк, Омск @yazovsky ayazovskiy@thumbtack.net
  • 3. О чем проект? • обрабатывать данные из различных источников • позволять искать по сложным запросам • показывать слабо-структурированную информацию • бизнес логика • e-commerce (продажи, куда без них) • social • etc.. 2/21
  • 4. О чем проект? • 15 млн документов с перспективой в 100 млн • предоставлять удобный способ поиска • масштабироваться горизонтально • гибкость к изменению формата данных VS валидация данных на соответствие базовым правилам • обладать высокой отказоустойчивостью 3/21
  • 5. «MarkLogic Server is a document-centric, transactional, search-centric, structure-aware, schema-agnostic, XQuery- and XSLT-driven, high performance, clustered, database server» 4/21
  • 6. «MarkLogic Server is a document-centric, transactional, search-centric, structure-aware, schema-agnostic, XQuery- and XSLT-driven, high performance, clustered, database server» … масштабируемое транзакционное … 4/21
  • 7. «MarkLogic Server is a document-centric, transactional, search-centric, structure-aware, schema-agnostic, XQuery- and XSLT-driven, high performance, clustered, database server» … масштабируемое транзакционное хранилище документов … 4/21
  • 8. «MarkLogic Server is a document-centric, transactional, search-centric, structure-aware, schema-agnostic, XQuery- and XSLT-driven, high performance, clustered, database server» … масштабируемое транзакционное хранилище документов с обширными возможностями поиска используя языки XQuery и/или XSLT… 4/21
  • 9. Marklogic • актуальный релиз - 6 (19 сентября, 2012) • номер один XML хранилище в мире * Среди клиентов: • Организаторы летних олимпийских игр в Лондоне 2012 • Федеральное управление гражданской авиации США • Департамент транспорта США • The Defense Information Systems Agency 5/21
  • 10. Marklogic 6/21
  • 11. Документо-ориентированная <document xsi:schemaLocation="http://yoursite.com/article article.xsd” xmlns:dc="http://yoursite.com/dc" xmlns="http://marklogic.com/articl" uri=”/article/maxim/123”> <meta> <dc:type>journal-article</dc:type> <dc:title>Анна Курникова</dc:title> <source uri=”/journal/maxim”>MAXIM</source> <pub_year>2004</pub_year> </meta> <body> images!!! </body> </document> 7/21
  • 12. Документо-ориентированная • избыточный синтаксис • ограниченность иерархической модели данных (где мои join'ы?!) • неоднозначность структуры • XML - прошлый век! JSON - рулит! :) 8/21
  • 13. Документо-ориентированная • открытый W3C стандарт • простой, человеко-читаемый формат • способы гибкой валидации (привет XSD, DTD) • инструменты преобразования и визуализации (всемогущий XSL) • языки запросов xQuery, xPath (W3C) 9/21
  • 14. Schema Agnostic • слабо-структурированные данные VS схема! • фокус на элементы, а не на структуру 10/21
  • 15. Search Centric • XDBC • HTTP • WebDAV • клиентская библиотека • REST API • web интерфейс 11/21
  • 16. Search Centric • полнотекстовый поиск search:search("blackjack and hookers") • поиск по значениям элемента или аттрибута • range индексы (искать с используя сравнения - “>”, “<”, “=”) • fields - alias для набора элементов • facets, подсказки, геолокационные запросы • и еще около сотни поисковых функций 12/21
  • 17. Search Centric 13/21
  • 19. Масштабируемость Forest - это репозиторий документов (папка на диске) Host / Node - это один экземпляр Marklogic Server Роли: Data Node (d-node) и Evaluator Node (e-node) 15/21
  • 21. Масштабируемость • одна редакция Marklogic Server • внешний load-balancer • одна платформа на кластер • shared nothing архитектура 17/21
  • 22. Отказоустойчивость • они настоящая команда! • heartbeat внутри кластера • автоматическое управление составом кластера • взаимовыручка 18/21
  • 23. «Один за всех - и все за одного!» д'Артаньян одобряет 19/21
  • 25. 21/21