Transactions at the PB Scale with Marklogic Server

Total Page:16

File Type:pdf, Size:1020Kb

Transactions at the PB Scale with Marklogic Server ACID Transac,ons at the PB Scale with MarkLogic Server A talk by Nuno Job, Welcome to Berlin Buzzwords 2011! PB Scalable Transactions @dscape | #bbuzz portugal, new york, toronto, san francisco, london! 83! 08! 09! 10! 11! past.! H E L L O my name is present.! stuff I like! ! Nuno! @dscape foreseeable future.! the idea ! search! engines! Structure ims! rdbms! idms! dinosaurs ! are ! Pre-defined Ad-hoc fun!! (o0)—’,--! Pre-defined Ad-hoc! ! Queries modern database! relational! search ! NoSQL! ancestors! bloom! engine! 60’s! 80’s! 90’s! 00’s! timeline! PB Scalable Transactions @dscape | #bbuzz a database for unstructured information unstructured! also stores:! schema-less*! c++ core! text and binaries! easy evolution.! ~ pb scale! xml or json.! features! acid, backups! replication, query ! native search! language (xquery).! a database built! on a search engine?! stop shredding your data! no tables, rows, columns! !!!start storing data as is! thinkin’ documents! uris? looks like a filesystem! * they have this universal index thing.! an inverted index that is structure aware! PB Scalable Transactions @dscape | #bbuzz application server single tier:! XQuery: ! - no boundaries ! dynamic, functional! between languages! programming language! - smaller stack! - king is dead!! long live the king!! features:! ! stop exposing your database! - easy geospatial! !start exposing your data! - http client! !! - facets! - alerting! - store applications! apps! in the database! marklogic! - url rewriting! api! ! apps! other dbs! github.com/dscape/rewrite! apps! ( for rails like routing, session later on )! REST! PB Scalable Transactions @dscape | #bbuzz In MarkLogic we were thinkin’ thinkin’ documents.! ✓ Unstructured Informaon flexible! json or xml?! ✓ Mul,ple TBs to PB scale ! big! ✓ Sub-second response mes fast! ever wonder what! that lotus flower! ✓ Data immediately durable realtime! video-clip is all ! ✓ about?! ! Mix of complex database Queries, aler,ng, full text search, transformaons, love to talk ! about this! geospaal, and real ,me analy,cs. unstructured? To be great, be whole; ! blank verse! Exclude nothing, ! line! exaggerate nothing that is not you. ! Be whole in everything. ! Put all you are ! Into the smallest thing you do. ! So, in each lake, the moon shines ! Because it blooms up above.! buttons! ! thread! Ricardo Reis, Odes! Wool! author! silk! title! poem! unstructured! relational! closet! closet! universal index universal index:! slides:! an inverted index that understands http://www.slideshare.net/cbiow/ structure, organization, and security! mark-logic-strangeloop-2010! “berlin” 123, 126, 130, 152, … “buzzwords” 122, 125, 126, 130, … “fast” 123, 126, 130, 142, … “nosql” 123, 130, 131, 135, … Document “hadoop” 125, 131, 167, 212, … References <preso> 122, 126, 130, 131, … <preso> / <tle> 126, 130, 131, 167, … 126, 130 <y>2011</y> 122, 126, 130, 131, … pub Like learning how ! nosql relational worked in! Editor Read the 80s “It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.”! " - Charles Darwin ACID Helps Atomicity Either all operations of the transaction - Easy to reason about are correctly executed or none is. data! - Guaranteed persistent! Consistency state Database will remain in a consistent state after the transaction commits. Hurts Isolation In a concurrent transactional system - Hard to scale transactions are unaware of each other. horizontally! - Hard to assure high Durability availability After a transaction completes, changes persist even if the system fails.! PB Scalable Transactions @dscape | #bbuzz CAP Consistency mysql Each client always has the same view of the data. Availability All clients can always read and write. Partition Tolerance redis riak System works well across physical network partitions.! Pick Two! credit: blog.nahurst.com! /visual-guide-to-nosql-systems PB Scalable Transactions @dscape | #bbuzz “It’s naive to explain NoSQL with CAP... for x tending to infinite it's like stating that in the world there are just 3 databases.”! " - Salvatore Sanfillipo, @antirez “There is a magic bullet! ! It's called relaxing the requirements.”! " - Evan Weaver, @evan scaling an inverted index * journaled! durability ++ ! memory disk Ingestion is limited to a size where indexes are manageable! ! On query both in memory and on disk stands behave the same -> transparent to the developer! ! Means:! Fast ingestion with Log-Structured transactions!! Merge-Tree! ! (LSM-Tree)! Zero-latency ingestion and Indexing! PB Scalable Transactions @dscape | #bbuzz “You cannot take a car, grow it 10 times and expect to get a mining truck.”! " - Ivan Pepelnjak, @ioshints divide and conquer ! : ease of use level of abstraction even distribution! database across nodes! stand! a group of trees! makes sense to ! par,,on1 par,,on2 par,,on3 have indexes in ! the same stand! PB Scalable Transactions @dscape | #bbuzz shared nothing cluster E Host 1 E Host 2 E Host n D Host 4 D Host 5 D Host 6 D Host k par--on1 par--on2 par--on3 par--on4 par--onm PB Scalable Transactions @dscape | #bbuzz MVCC Append only database! ! High Throughput! Queries don’t require locks! Queries and Updates do ! not conflict! ! ACID! Cluster consistency: 2-phase commit PB Scalable Transactions @dscape | #bbuzz mvcc queries never lock!! Series 1 delete eric.json replace node mary.json maria.json insert john.json System query ,mestamp 0 5 10 15 20 25 PB Scalable Transactions @dscape | #bbuzz How does the 2-phase commit work? insertinsert-childdelete “/“foo.jsonfoo.json ””, { “foo”: “” } Journal A insert“foo.deletejson “/“bar.jsonbar.json”.foo, ””, { “bar”: “” } Insert fragment 123 “/foo.json” “stuff” Distributed Begin, A added(123), B added(234) Shard A Commit, ,mestamp 1, added (123) Distributed End ID ✔ ✗ URI Insert fragment 345 “/foo.json” Commit, ,mestamp 2, added (345), deleted (123) Distributed Begin, A added(123), B added(234) 123! 1! 2 /foo.json! Commit, ,mestamp 3, deleted (34567) 345! 2 3 /foo.json! Distributed End Journal B Shard B Insert fragment 234 “/bar.json” ID ✔ ✗ URI Prepare Commit, added (123) Prepare 234! 1! 3 /bar.json! Commit, deleted (234) doesn’t lock documents, locks uris! PB Scalable Transactions @dscape | #bbuzz developer.marklogic.com awesome project btw…! 365q.ca “You have database problem. You research blog and HN. You start use NoSQL product. Now you not know anymore if you have problem.”! " - Devops BORAT, @devops_borat Questions? @dscape PB Scalable Transactions @dscape | #bbuzz .
Recommended publications
  • Introduction How Marklogic Works?
    MarkLogic Database – Only Enterprise NoSQL DB Sanket V. Patel, Aashi Rastogi Department of Computer Science University of Bridgeport, Bridgeport, CT Abstract MarkLogic DB is one of the Enterprise NoSQL database that supports multiple-model database design. It is optimized for structured and unstructured data that allows to store, manage, query and search across JSON, XML, RDF (Triplestore) and can handle data with a schema free and leads to faster time-to-results by providing handling of different types of data. It provides ACID Transactions using MVCC (multi-version concurrency control). One of the important key feature of MarkLogic is its Bitemporal behavior by providing data at every point in time. Due to its shared-nothing architecture it is highly available and easily and massively scalable with no single point of failure making structured data integration easier. It also has incremental backup means to only backup the updated data. Marklogic provides Hadoop integration and Hadoop is designed to store large amount of data in Hadoop Distributed File System (HDFS) and works better with the transactional applications. Introduction NoSQL means non-SQL or non-relational databases which provides mechanism to store and retrieve the data other than relational databases. NoSQL database is in use nowadays because of simplicity of design, easy to scale out and control over availability. Implementation Types of NoSQL Databases: Key-value based Column oriented Graph oriented Document based Multi-model Multi-model database is an only designed to support multiple data models against a single application. Marklogic DB is one of the NoSQL database that uses multi-model database design.
    [Show full text]
  • Release Notes (PDF)
    MarkLogic Server Release Notes 2 MarkLogic 9 May, 2017 Last Revised: 9.0-13, July, 2020 Copyright © 2020 MarkLogic Corporation. All rights reserved. MarkLogic Server Version MarkLogic 9—May, 2017 Page 2—Release Notes MarkLogic Server Table of Contents Table of Contents Release Notes 1.0 Introduction ..................................................................................................13 1.1 Bug Fixes ..............................................................................................................13 2.0 Installation and Upgrade ..............................................................................15 2.1 Supported Platforms .............................................................................................15 2.2 Supported Filesystems ..........................................................................................15 2.3 Upgrade Support ...................................................................................................15 3.0 New Features in MarkLogic 9 .....................................................................17 3.1 Template Driven Extraction (TDE) ......................................................................18 3.2 SQL Enhancements ...............................................................................................18 3.3 Optic API ..............................................................................................................18 3.4 Enhanced Tiered Storage ......................................................................................19
    [Show full text]
  • Marklogic 10 Upgrade Accelerator Datasheet
    MarkLogic 10 Upgrade Accelerator DATASHEET The MarkLogic 10 Upgrade Accelerator is designed to help our existing customers put the powerful features of MarkLogic 10 into action and to educate you on the art of the possible with this significant release. MarkLogic 10 is a free upgrade to all customers with an active support contract. The accelerator starts with a collaboration between MarkLogic Consulting and your team to determine which new features apply to your business and how they can best benefit you. Then we will work together to plan and implement your upgrade. MarkLogic Consulting has been working with MarkLogic 10 throughout the product development lifecycle and is uniquely positioned with deep reachback capability to MarkLogic Engineering. This ensures our customers will have access to the most extensive and current information to take full advantage of MarkLogic 10. Gain All the Benefits of MarkLogic 10 MarkLogic 10 includes a variety of robust new features that we can help you take advantage of. The following focus areas highlight some, but not all, of the new capabilities in MarkLogic 10. Embedded Machine Learning MarkLogic 10 ships with a complete machine-learning toolkit. This enables data scientists to develop and train machine-learning models in MarkLogic. The machine learning modules are deeply embedded into the MarkLogic engine, meaning inference models can be woven into the fabric of our MarkLogic application and run as part of an ACID-compliant transaction, close to the data for optimal performance and under the best-of-breed security of the MarkLogic database. MarkLogic 10 also includes Nvidia’s CUDA libraries, enabling GPU acceleration for machine learning training and execution.
    [Show full text]
  • Marklogic® Developer Training and Support
    MarkLogic® Developer Training and Support The Developer Training and Support package is a combination • Administering MarkLogic Server – a seat for your of pre-production training and support to help you and your database administrator at a hands-on course team get the most out of MarkLogic, getting you that much that will teach you about installing, deploying, monitoring, and maintaining your MarkLogic closer to a live application. database • Six months of email and web support for two named Overview contacts in your organization. With the release of the free Developer License for MarkLogic Enterprise Edition, developers can now begin Getting Started building pre-production applications without waiting Download a free Developer License for MarkLogic for funds to be allocated for production software Enterprise Edition and begin developing and testing an licenses. The Developer Training and Support package application on the only Enterprise NoSQL database. You is a cost-effective way to help your team become more can use the software for six months, giving you plenty proficient using MarkLogic, so you can reach your goals of time to get ready before your organization needs to even sooner. buy production licenses. The Developer License includes nearly all features of Enterprise Edition and can be used Details for databases up to 1TB, which makes it easy for you to The Developer Training and Support package includes try out MarkLogic for real problems you need to solve. a full-day MarkLogic Fundamentals workshop, a seat If you’ve already started working with MongoDB, use our in two of our public training courses, and six months of MarkLogic Converter for MongoDB to move your data support, as described below.
    [Show full text]
  • Data Hub Guide for Architects What Is a Data Hub? How Does It Simplify Data Integration? Marklogic Corporation 999 Skyway Road, Suite 200 San Carlos, CA 94070
    Data Hub Guide for Architects What is a data hub? How does it simplify data integration? MarkLogic Corporation 999 Skyway Road, Suite 200 San Carlos, CA 94070 +1 650 655 2300 +1 877 992 8885 www.marklogic.com [email protected] ©2020 MarkLogic Corporation. MarkLogic and the MarkLogic logo are trademarks or registered trademarks of MarkLogic Corporation in the United States and other countries. All other trademarks are the property of their respective owners. Data Hub Guide for Architects What is a data hub? How does it simplify data integration? Lead Author Ken Krupa heads MarkLogic’s Global Solutions Engineering team and has over 25 years of professional IT experience. Prior to joining MarkLogic, Ken advised some of the largest global financial institutions, delivering technology solutions and advising C-level executives on technology strategy and data architecture. In addition to his consulting work, Ken worked as a direct partner to Sun Microsystems and also served as Chief Architect of GFI Group leading up to the company’s IPO. At MarkLogic, Ken is an enterprise architect who plays the role of pragmatic visionary. He was instrumental in developing the vision for the data hub, and now oversees the customer-facing team that helps implement data hub solutions. With years of experience along with deep technical expertise, Ken is the perfect guide to help fellow architects understand the challenges with legacy technologies and how to solve them with a new approach. Ken holds a B.S. Degree in Computer Science from the State University of New York, Albany. Additional Support This publication is the product of many minds and was made possible with input across the MarkLogic team, including but not limited to: • Gary Bloom, President & CEO • David Gorbet, SVP of Engineering • Dr.
    [Show full text]
  • Concepts Guide
    MarkLogic Server Concepts Guide 1 MarkLogic 10 May, 2019 Last Revised: 10.0, May, 2019 Copyright © 2019 MarkLogic Corporation. All rights reserved. MarkLogic Server Table of Contents Table of Contents Concepts Guide 1.0 Overview of MarkLogic Server .....................................................................5 1.1 Relational Data Model vs. Document Data Model .................................................5 1.2 XML Schemas ........................................................................................................6 1.3 High Performance Transactional Database .............................................................7 1.4 Rich Search Features ..............................................................................................7 1.5 Text and Structure Indexes .....................................................................................7 1.6 Semantics Support ..................................................................................................8 1.7 Binary Document Support ......................................................................................9 1.8 MarkLogic APIs and Communication Protocols ....................................................9 1.9 High Performance .................................................................................................10 1.10 Clustered ...............................................................................................................11 1.11 Cloud Capable .......................................................................................................11
    [Show full text]
  • Getting Started with Marklogic Server
    MarkLogic Server Getting Started With MarkLogic Server 1 MarkLogic 10 May, 2019 Last Revised: 10.0-5, September, 2020 Copyright © 2019 MarkLogic Corporation. All rights reserved. MarkLogic Server Table of Contents Table of Contents Getting Started With MarkLogic Server 1.0 Introduction to MarkLogic Server .................................................................4 1.1 Requirements ..........................................................................................................4 1.2 About this Document ..............................................................................................4 2.0 Getting Started with MarkLogic Cloud Services ...........................................5 3.0 Getting Started with MarkLogic Server-Side JavaScript ...............................6 3.1 About Query Console .............................................................................................6 3.2 JavaScript Examples ...............................................................................................6 3.2.1 Create a Simple JSON Document ...............................................................6 3.2.2 Creating and Searching Documents ............................................................8 3.3 Module Programs and Other Considerations ........................................................11 3.3.1 Converting Scripts to Modules .................................................................11 3.3.2 New Mimetype for Javascript Modules ....................................................11 4.0 Getting
    [Show full text]
  • Performance: Understanding System Resources
    PERFORMANCE Understanding System Resources MARKLOGIC WHITE PAPER · OCTOBER 2018 There are many aspects involved in understanding resource consumption. To make sense of them, this paper will break down the overall problem by describing common MarkLogic functions and then provide detail on system impact (I/O, CPU, memory, storage size, network). We also show examples of how to monitor these various system components, how to remediate problems, and important limits to keep in mind. About the Author Erin Miller Sr. Manager, Performance Engineering Erin Miller is a lead engineer for the MarkLogic Performance Engineering team. In her tenure at MarkLogic, she has worked with many of MarkLogic's largest and most complex deployments. Erin is an expert in performance and application tuning and served as a key contributor at enterprise software companies for over 20 years. Prior to MarkLogic, Erin specialized in enterprise search and has deep expertise in Java and J2EE technologies. Erin holds a Bachelor's Degree from Harvard College. ii Contents Overview ................................................................................................................................................................... 1 MarkLogic Server Architecture at a Glance Terminology and General Concepts What is a Database Server? Part I: Ingestion ..................................................................................................................................................... 4 Ingestion 30,000 Foot View: Ingest Summary Ingest in Detail Important
    [Show full text]
  • Marklogic Server Node.Js Application Developer's Guide
    MarkLogic Server Node.js Application Developer’s Guide 1 MarkLogic 9 May, 2017 Last Revised: 9.0-4, January 2018 Copyright © 2018 MarkLogic Corporation. All rights reserved. MarkLogic Server Table of Contents Table of Contents Node.js Application Developer’s Guide 1.0 Introduction to the Node.js Client API ..........................................................9 1.1 Getting Started ........................................................................................................9 1.2 Required Software ................................................................................................14 1.3 Security Requirements ..........................................................................................15 1.3.1 Basic Security Requirements ....................................................................15 1.3.2 Controlling Document Access ..................................................................16 1.3.3 Evaluating Requests Against a Different Database ..................................16 1.3.4 Evaluating or Invoking Server-Side Code ................................................16 1.4 Terms and Definitions ..........................................................................................17 1.5 Key Concepts and Conventions ............................................................................18 1.5.1 MarkLogic Namespace .............................................................................18 1.5.2 Parameter Passing Conventions ................................................................18
    [Show full text]
  • Release Notes
    MarkLogic Server Release Notes 1 MarkLogic 10 May, 2019 Last Revised: 10.0-7, June, 2021 Copyright © 2021 MarkLogic Corporation. All rights reserved. MarkLogic Server Table of Contents Table of Contents Release Notes 1.0 Introduction ..................................................................................................10 1.1 Bug Fixes ..............................................................................................................10 2.0 Installation and Upgrade ..............................................................................11 2.1 Supported Platforms .............................................................................................11 2.2 Supported Filesystems ..........................................................................................11 2.3 Upgrade Support ...................................................................................................11 3.0 New Features in MarkLogic 10 ...................................................................13 3.1 JavaScript Engine Upgrade ...................................................................................13 3.2 Element Level Security (ELS) in the Triple Index ...............................................13 3.3 Machine Learning .................................................................................................13 3.4 Security Library Upgrades ....................................................................................14 3.5 Triggers and Amps Creation .................................................................................14
    [Show full text]
  • The Design of a SQL Interface for a Nosql Database
    The Design of a SQL Interface for a NoSQL Database Mary Holstege, PhD, Principal Engineer Nov 7, 2012 @mathling Slide 1 Copyright © 2012 MarkLogic® Corporation. All rights reserved. Topics § MarkLogic: Enterprise NoSQL Database § SQL over NoSQL, What’s The Point? § How Does It Work? § Technical Nitty Gritty § Q&A Slide 2 Copyright © 2012 MarkLogic® Corporation. All rights reserved. MarkLogic NoSQL Database ü Shared-nothing Host Host Host ü Clustered 1 2 3 ü Non-relational ü Schema-free ü Scalable Host 4 Host 5 Host 6 Host k partition1 partition2 partitionpartition3 4 partitionm Slide 3 Copyright © 2012 MarkLogic® Corporation. All rights reserved. MarkLogic Enterprise NoSQL Database ü ACID ü Real-time full-text search ü Automatic failover ü Replication ü Point in-time recovery ü Government-grade security Slide 4 Copyright © 2012 MarkLogic® Corporation. All rights reserved. Keep This In Mind § Non-relational data model § Documents (XML, JSON, binary, text) § Rich “query” language (XQuery+extension functions) § Really a complete language for application development § Search engine core § Full-text § Hierarchical, structure § Geospatial § Values Slide 5 Copyright © 2012 MarkLogic® Corporation. All rights reserved. What’s the Point? Slide 6 Copyright © 2012 MarkLogic® Corporation. All rights reserved. MarkLogic and BI Tools § Use familiar relational tools with non-relational data § Such as BI tools § Standard connection – no code, no custom integration § All the benefits of a BI tool – data analysis, visualization - with an operational Big Data database Slide 7 Copyright © 2012 MarkLogic® Corporation. All rights reserved. Structured and Unstructured Data Personal Info Aliases Phone numbers Bank accounts Credit cards Vehicles § MarkLogic’s XML data model was designed to handle rich structured and unstructured data Slide 8 Copyright © 2012 MarkLogic® Corporation.
    [Show full text]
  • Advanced Databases
    ADVANCED DATABASES Distributed and high performance NoSQL database systems Dr. NGUYEN Hoang Ha Email: [email protected] I have no SQL experience But I am good at NO SQL 2 Agenda NoSQL Overview Introduction to MongoDB MongoDb Sharding 3 Relational database 4 A NoSQL example 5 NoSQL: Documents and Collections Customer CustomerCustomer OrderOrder Customer collections Order collections 6 Web Scale This term used to justify NoSQL Millions concurrent users Amazon Google Non-transactional tasks Loading catalog Environment preferences 7 What is NoSQL? NoSQL is a class of database management system identified by its non-adherence to the widely used relational database management system (RDBMS) model with its structured query language (SQL). NoSQL has evolved to mean “Not Only” SQL NoSQL has become prominent with the advent of web scale data and systems created by Google, Facebook, Amazon, Twitter and others to manage data for which SQL was not the best fit. 8 NoSQL Definition From www.nosql-database.org: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontal scalable. The original intention has been modern web-scale databases. The movement began early 2009 and is growing rapidly. Often more characteristics apply as: schema-free, easy replication support, simple API, eventually consistent / BASE (not ACID), a huge data amount, and more. 9 Beginning NoSQL One of first uses of the phrase NoSQL is due to Carlo Strozzi, circa 1998. Characteristics: A fast, portable, open-source RDBMS A derivative of the RDB database system Not a full-function DBMS, per se, but a shell-level tool User interface: Unix shell Strozzi’s NoSQL RDBMS was based on the relational model Does not have an SQL interface → NoSQL means “no sql” i.e., we are not using the SQL language.
    [Show full text]