Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NOSQLMattersParis: Advanced search for your Legacy application

NOSQLMattersParis: Advanced search for your Legacy application

How to mix SQL and NoSQL worlds without a revolution?

This live coding talk will show you how to add elasticsearch in your legacy application without changing all your habits. Your application will be able to have advanced search features without the need of writing complex SQL code!

David will start from a RestX, Hibernate, Postgresql application and will add live during this session a complete integration of elasticsearch:

* Why should we add NoSQL search?
* bad practices (JDBC river, external batch...)
* how to represent business entities in NoSQL documents?
* elasticsearch beyonder project
* How to live without transactions inside a transactional application?

Elasticsearch Inc

March 27, 2015
Tweet

More Decks by Elasticsearch Inc

Other Decks in Technology

Transcript

  1. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    for your legacy app
    advanced search
    David Pilato
    Developer | Evangelist
    @dadoonet

    View full-size slide

  2. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    our use case

    View full-size slide

  3. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    our legacy platform
    WEB APP
    HTTP / REST
    JDBC
    DATABASE
    SQL

    View full-size slide

  4. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    our legacy domain / database

    View full-size slide

  5. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    our legacy app
    demo time
    $ git clone https://github.com/dadoonet/legacy-search.git
    $ git checkout 00-legacy
    $ mvn clean install jetty:run

    View full-size slide

  6. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    architecture
    connecting with our app

    View full-size slide

  7. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    ETL
    using a ETL
    DATABASE
    SQL
    WEB APP
    HTTP / REST
    JDBC
    ELASTICSEARCH
    REST / JSON

    View full-size slide

  8. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    JDBC RIVER
    JDBC river
    DATABASE
    SQL
    WEB APP
    HTTP / REST
    JDBC
    ELASTICSEARCH
    REST / JSON
    SQL JSON

    View full-size slide

  9. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    JDBC river
    DATABASE
    SQL
    WEB APP
    HTTP / REST
    JDBC
    ELASTICSEARCH
    REST / JSON
    SQL

    View full-size slide

  10. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited

    View full-size slide

  11. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    direct connection
    Do It Yourself

    View full-size slide

  12. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    direct connection
    DATABASE
    SQL
    WEB APP
    HTTP / REST
    JDBC
    ELASTICSEARCH
    REST / JSON
    ES-CLIENT

    View full-size slide

  13. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    direct connection
    demo time
    $ git checkout 01-direct
    $ git checkout 02-bulk
    $ git checkout 03-mapping
    $ git checkout 04-aggs
    $ git checkout 05-compute
    $ mvn clean install jetty:run
    $ cat README.markdown

    View full-size slide

  14. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited

    View full-size slide

  15. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited

    View full-size slide

  16. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
    distributing without written permission is strictly prohibited
    https://elastic.co/support/
    [email protected]
    David Pilato
    Developer | Evangelist
    @dadoonet

    View full-size slide