SQL vs NoSQL, an experiment with MongoDBMarco Segato
A simple experiment with MongoDB compared to Oracle classic RDBMS database: what are NoSQL databases, when to use them, why to choose MongoDB and how we can play with it.
SQL vs NoSQL, an experiment with MongoDBMarco Segato
A simple experiment with MongoDB compared to Oracle classic RDBMS database: what are NoSQL databases, when to use them, why to choose MongoDB and how we can play with it.
Slides from workshop held on 12/14 in Asbury Park, NJ
http://www.meetup.com/Jersey-Shore-Tech/events/148118762/?gj=ro2_e&a=ro2_gnl&rv=ro2_e&_af_eid=148118762&_af=event
SwanseaCon 2017 presentation on Making MySQL Agile-ish. Relational Databases are not usually considered part of the Agile Programming movement but there are many new features in MySQL to make it easier to include it. This presentation covers how MySQL is moving to help support agile development while maintaining the traditional 'non agile' stability expected from a database.
Evolution of the DBA to Data Platform Administrator/SpecialistTony Rogerson
DBA's used to be Relational Database centric for instance managing Microsoft SQL Server or Oracle, in this changing world of polyglot database environments their role has expanded not just into new platforms other than SQL but also new legal governance, modelling techniques, architecture etc. They need to have a base knowledge of Kimball, Inmon, Data Vault, what CAP theorem is, LAMBDA, Big Data, Data Science etc.
An unprecedented amount of data is being created and is accessible. This presentation will instruct on using the new NoSQL technologies to make sense of all this data.
Understand what NoSQL is and what it is not. Why would you want to use NoSQL within your project and which NoSQL database would you utilize. Explore the relationships between NoSQL and RDBMS. Understand how to select between an RDBMs (MySQL and PostgreSQL), Document Database(MongoDB), Key-Value Store, Graph Database, and Columnar databases or combinations of the above.
This Presentation is about NoSQL which means Not Only SQL. This presentation covers the aspects of using NoSQL for Big Data and the differences from RDBMS.
Polyglot Persistence vs Multi-Model DatabasesLuca Garulli
Many complex applications scale up by using several different databases, i.e. selecting the best DBMS for each use case. This tends to complicate modern architecture with many products by different vendors, no standards, and a lot of ETL which ultimately causes unpredictable results and a lot of headaches. Multi-Model DBMSs were created to make your life easier, giving you the option of using one NoSQL product with powerful multi-purpose engines capable of handling complex domains. Could one DBMS handle all your needs including speed and scalability in the times of Big Data? Luca will walk you through the benefits and trade-offs of multi-model DBMSs and will show you how easy it is to setup one open source database to handle many different use cases, saving you time and money.
Presented at Data Day Texas - Austin (TX) - USA
NoSQL databases are currently used in several applications scenarios in contrast to Relations Databases. Several type of Databases there exist. In this presentation we compare Key Value, Column Oriented, Document Oriented and Graph Databases. Using a simple case study there are evaluated pros and cons of the NoSQL databases taken into account.
As more businesses realised that data, in all forms and sizes, is critical to making the best possible decisions, we see the continued growth of systems that support massive volume of non-relational or unstructured forms of data. Nothing shows the picture more starkly than the Gartner Magic quadrant for operational database management systems, which assumes that, by 2017, all leading operational DBMSs will offer multiple data models, relational and NoSQL, in a single DBMS platform. Having a single data platform for managing both well-structured data and NoSQL data is beneficial to users; this approach reduces significantly integration, migration, development, maintenance, and operational issues. Therefore, a challenging research work is how to develop efficient consolidated single data management platform covering both relational data and NoSQL to reduce integration issues, simplify operations, and eliminate migration issues.
In this tutorial, we review the previous work on multi-model data management and provide the insights on the research challenges and directions for future work.
Papers and more materials on this tutorial can be found at: http://udbms.cs.helsinki.fi/?tutorials
Slides from workshop held on 12/14 in Asbury Park, NJ
http://www.meetup.com/Jersey-Shore-Tech/events/148118762/?gj=ro2_e&a=ro2_gnl&rv=ro2_e&_af_eid=148118762&_af=event
SwanseaCon 2017 presentation on Making MySQL Agile-ish. Relational Databases are not usually considered part of the Agile Programming movement but there are many new features in MySQL to make it easier to include it. This presentation covers how MySQL is moving to help support agile development while maintaining the traditional 'non agile' stability expected from a database.
Evolution of the DBA to Data Platform Administrator/SpecialistTony Rogerson
DBA's used to be Relational Database centric for instance managing Microsoft SQL Server or Oracle, in this changing world of polyglot database environments their role has expanded not just into new platforms other than SQL but also new legal governance, modelling techniques, architecture etc. They need to have a base knowledge of Kimball, Inmon, Data Vault, what CAP theorem is, LAMBDA, Big Data, Data Science etc.
An unprecedented amount of data is being created and is accessible. This presentation will instruct on using the new NoSQL technologies to make sense of all this data.
Understand what NoSQL is and what it is not. Why would you want to use NoSQL within your project and which NoSQL database would you utilize. Explore the relationships between NoSQL and RDBMS. Understand how to select between an RDBMs (MySQL and PostgreSQL), Document Database(MongoDB), Key-Value Store, Graph Database, and Columnar databases or combinations of the above.
This Presentation is about NoSQL which means Not Only SQL. This presentation covers the aspects of using NoSQL for Big Data and the differences from RDBMS.
Polyglot Persistence vs Multi-Model DatabasesLuca Garulli
Many complex applications scale up by using several different databases, i.e. selecting the best DBMS for each use case. This tends to complicate modern architecture with many products by different vendors, no standards, and a lot of ETL which ultimately causes unpredictable results and a lot of headaches. Multi-Model DBMSs were created to make your life easier, giving you the option of using one NoSQL product with powerful multi-purpose engines capable of handling complex domains. Could one DBMS handle all your needs including speed and scalability in the times of Big Data? Luca will walk you through the benefits and trade-offs of multi-model DBMSs and will show you how easy it is to setup one open source database to handle many different use cases, saving you time and money.
Presented at Data Day Texas - Austin (TX) - USA
NoSQL databases are currently used in several applications scenarios in contrast to Relations Databases. Several type of Databases there exist. In this presentation we compare Key Value, Column Oriented, Document Oriented and Graph Databases. Using a simple case study there are evaluated pros and cons of the NoSQL databases taken into account.
As more businesses realised that data, in all forms and sizes, is critical to making the best possible decisions, we see the continued growth of systems that support massive volume of non-relational or unstructured forms of data. Nothing shows the picture more starkly than the Gartner Magic quadrant for operational database management systems, which assumes that, by 2017, all leading operational DBMSs will offer multiple data models, relational and NoSQL, in a single DBMS platform. Having a single data platform for managing both well-structured data and NoSQL data is beneficial to users; this approach reduces significantly integration, migration, development, maintenance, and operational issues. Therefore, a challenging research work is how to develop efficient consolidated single data management platform covering both relational data and NoSQL to reduce integration issues, simplify operations, and eliminate migration issues.
In this tutorial, we review the previous work on multi-model data management and provide the insights on the research challenges and directions for future work.
Papers and more materials on this tutorial can be found at: http://udbms.cs.helsinki.fi/?tutorials
Whats the buzz about? When it comes to NoSQL, what do some of the most experienced developers know about NoSQL that makes them select Aerospike over any other NoSQL database?
Find the full webinar with audio here - http://www.aerospike.com/webinars
This presentaion will review how real-time big data driven applications are changing consumer expectations and enterprise requirements for operational databases that enable powerful and personalized customer experiences. We will describe common use cases, typical customer deployments and present an overview of Aerospike's hybrid in-memory (DRAM + Flash) and scale-out architecture.
Back to Basics Webinar 1: Introduction to NoSQLMongoDB
This is the first webinar of a Back to Basics series that will introduce you to the MongoDB database, what it is, why you would use it, and what you would use it for.
NoSQL databases get a lot of press coverage, but there seems to be a lot of confusion surrounding them, as in which situations they work better than a Relational Database, and how to choose one over another. This talk will give an overview of the NoSQL landscape and a classification for the different architectural categories, clarifying the base concepts and the terminology, and will provide a comparison of the features, the strengths and the drawbacks of the most popular projects (CouchDB, MongoDB, Riak, Redis, Membase, Neo4j, Cassandra, HBase, Hypertable).
Monitoring at scale - Intuitive dashboard designLorenzo Alberton
At a certain scale, millions of events happen every second, and all of them are important to evaluate the health of the system. If not handled correctly, such a volume of information can overwhelm both the infrastructure that needs to support them, and people who have to make a sense out of thousands of signals and make decisions upon them, fast. By understanding how our rational mind works, how people process information, we can present data so it's more evident and intuitive. This talk will explain how to collect useful metrics, and to create the perfect monitoring dashboard to organise and display them, letting our intuition operate automatically and quickly, and saving attention and mental effort to activities that demand it.
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
In this talk we will see how to use MongoDB in Symfony2 projects to speed up the development of web applications. We will give an introduction of MongoDB as a NoSQL database server and look at the options on how to work with it from Symfony2 and PHP applications.
Presentation on Schema Service for harnessing MongoDB schemaless feature. Implemented using Navajo Service Oriented Application Framework. Digital Match Report of the Sportlink ERP system as use case.
A 30 minute talk I did at Cassandra Dublin and Cassandra London. Just some things I've learned along the way as I've helped some of the largest users of Cassandra be successful. Learn form other peoples mistakes!
Slides from my talk at MongoDB Boston 2013 on moving an application from a relational database to MongoDB. I discussed challenges and lessons learned from this project.
Polylog: A Log-Based Architecture for Distributed SystemsKamil Sindi
The talk focused on a log-based architecture ("The Polylog") we've developed to handle data change capture in order to easily build new services and databases based on other service's full datasets. Some of the tools we'll cover include Debezium for database change capture, Kafka for storing the logs, and the Denormalizer, which is an in-house tool we built to do left joins on streams.
This presentation was given at the LDS Tech SORT Conference 2011 in Salt Lake City. The slides are quite comprehensive covering many topics on MongoDB. Rather than a traditional presentation, this was presented as more of a Q & A session. Topics covered include. Introduction to MongoDB, Use Cases, Schema design, High availability (replication) and Horizontal Scaling (sharding).
Similar to Introduction to NoSQL with MongoDB (20)
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaYara Milbes
Discover the transformative power of the WhatsApp API in our latest SlideShare presentation, "Top 7 Unique WhatsApp API Benefits." In today's fast-paced digital era, effective communication is crucial for both personal and professional success. Whether you're a small business looking to enhance customer interactions or an individual seeking seamless communication with loved ones, the WhatsApp API offers robust capabilities that can significantly elevate your experience.
In this presentation, we delve into the top 7 distinctive benefits of the WhatsApp API, provided by the leading WhatsApp API service provider in Saudi Arabia. Learn how to streamline customer support, automate notifications, leverage rich media messaging, run scalable marketing campaigns, integrate secure payments, synchronize with CRM systems, and ensure enhanced security and privacy.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
4. •A type of databases
•Don’t use the relational model
•Good fit for distributed environments
•(Usually) don’t use SQL
•(Most of them) are open source
What are NoSQL databases
Source: http://nosql-database.org
Monday, June 3, 13
5. “NoSQL refers to an ill-defined
set of mostly open-source
databases, mostly developed in
the early 21st century, and
mostly not using SQL”
What are NoSQL databases
Source: NoSQL Distilled by Sadalage and Fowler
Monday, June 3, 13
6. NoSQL is a movement
not a specific technology or
product
What are NoSQL databases
Monday, June 3, 13
7. What are NoSQL databases
NOSQL Meetup
This meetup is about "open source,
distributed, non relational databases".
Have you run into limitations with
traditional relational databases? Don't
mind trading a query language for
scalability? [...]
NoSQL term coined in 2009 by Johan Oskarsson
while organizing a meetup
Source: http://nosql.eventbrite.com
Monday, June 3, 13
8. It doesn’t mean “Screw SQL”
It’s more like “Not Only SQL”
What are NoSQL databases
Monday, June 3, 13
9. NoSQL has very little to do with
SQL (structured query language)
It should have been called Not Only
Relational Databases
#NoRDBMS anyone?
What are NoSQL databases
Monday, June 3, 13
12. Why NoSQL?
Very large and distributed databases
Rise of unstructured data
Ease of development
Monday, June 3, 13
13. Why NoSQL? - large datasets
Massive datasets (Google,Amazon, Facebook)
Distributed environments (hundreds of nodes)
RDBMS scale up but not scale out
Monday, June 3, 13
14. Why NoSQL? - large datasets
But we don't have that problem
at my company...
Monday, June 3, 13
15. Why NoSQL? - large datasets
...true, and we also thought that
640 KB of RAM should be
enough for everybody.
Source: http://www.youtube.com/watch?v=qI_g07C_Q5I
But we don't have that problem
at my company...
Monday, June 3, 13
16. Why NoSQL? - unstructured data
Web pages (Google,Yahoo)
Log data, scientific data
Content Management Systems
Field1, field2, field3, fieldN
Storing field definitions as rows
Tracking changes (usually a BLOB)
Monday, June 3, 13
17. Why NoSQL? - ease of development
Data impedance mismatch (OO vs RDBMS)
Applies to both structured and unstructured data
Aggregates are desirable in a cluster environment
NoSQL can reduce this friction
Monday, June 3, 13
19. •Key-value
SimpleDB, Redis, Dynamo,Voldemort, Riak
•Document-oriented
MongoDB, CouchDB, RavenDB
•Column-oriented
BigTable, HBase, CASSANDRA, PNUTS
Types of NoSQL databases
Sources:
Book: NoSQL Distilled by Sadalage and Fowler
Paper: NoSQL Databases: a step to database scalability in Web environment by Jaroslav Pokorny
Monday, June 3, 13
20. Types of NoSQL databases
•Not using the relational model
•Run well on clusters
•Can handle huge amount of data
•Open Source
•Build for 21st century web access
•Schema-less / schema-free
•BASE (not ACID)
Common Characteristics
Monday, June 3, 13
21. Types of NoSQL databases
ACID Transactions
Source: BASE:An Acid Alternative by Dan Pritchett http://queue.acm.org/detail.cfm?id=1394128
• Atomicity. Transactions are all or nothing.
• Consistency. The database will be in a
consistent state when the transaction begins and
ends.
• Isolation. The transaction will behave as if it is
the only operation being performed upon the
database.
• Durability. Upon completion of the transaction,
the operation will not be reversed.
Monday, June 3, 13
22. Types of NoSQL databases
BASE
Source: BASE:An Acid Alternative by Dan Pritchett http://queue.acm.org/detail.cfm?id=1394128
• Basically Available, Soft state, Eventually
consistent
• BASE is diametrically opposed to ACID
• ACID is pessimistic and forces consistency at the
end of every operation
• BASE is optimistic and accepts that the database
consistency will be in a state of flux
Monday, June 3, 13
23. Types of NoSQL databases
“BASE is optimistic and accepts
that the database consistency will
be in a state of flux”
This is really a business requirement, not a
technical one (overbooked planes, oversold
items)
Source: BASE:An Acid Alternative by Dan Pritchett http://queue.acm.org/detail.cfm?id=1394128
Monday, June 3, 13
24. Types of NoSQL databases
“it leads to levels of scalability
that cannot be obtained with ACID”
BASE sounds scary at first, but...
Source: BASE:An Acid Alternative by Dan Pritchett http://queue.acm.org/detail.cfm?id=1394128
Monday, June 3, 13
26. “bridge the gap between key-
value stores (which are fast
and highly scalable) and
traditional RDBMS systems
(which provide rich queries
and deep functionality).” -
Mike Dirolf
Source: http://www.10gen.com/presentations/webinar/introduction-to-mongodb
Goal of MongoDB
Monday, June 3, 13
30. UPDATE table
SET f1 = v1, f2 = v2
WHERE f3 = v3
db.collection.update(
{f3: v3}, // where
{$set:
{f1: v1, f2: v2}
}
)
MongoDB Examples
Monday, June 3, 13
31. SELECT f1, f2
FROM table
WHERE f3 = “X”
db.collection.find(
{f3: “X”}, // where
{f1: 1, f2: 1} // projection
)
MongoDB Examples
Monday, June 3, 13
32. SELECT i.id, i.date, i.total,
c.name, c.address,
t.qty, p.name, t.price
FROM invoices i
INNER JOIN customers c ON i.custId = c.id
INNER JOIN items t ON t.invoiceId = i.id
INNER JOIN prods p ON t.prodId = p.id
WHERE i.id = 34
MongoDB Examples
Monday, June 3, 13
33. MongoDB Examples
id date total name address qty name price
34 2013-04-01 100 Customer A 123 main 2 item A 30
34 2013-04-01 100 Customer A 123 main 1 item B 40
Monday, June 3, 13
39. MongoDB Replication
Replication - saving the same data multiple times
Gives you redundancy in case one server fails
Allows you to spread your reads
[server 1]
All
Customers
[server 2]
All
Customers
[server 3]
All
Customers
Monday, June 3, 13
46. To SQL or
no to SQL,
that is the
question
http://en.wikipedia.org/wiki/File:Edwin_Booth_Hamlet_1870.jpg
Monday, June 3, 13
47. Advantages of Relational Databases
• Some data fits the relational model nicely
• SQL is a declarative language
• SQL is universal
• Joins
• Multi-row / multi-table ACID transactions
• One size fits most
• Well known technology
To SQL or no to SQL
Monday, June 3, 13
48. Advantages of NoSQL Databases
• Cluster friendly / scales out
• Tend to be very fast
• Handle complex data nicely
• Reduced data impedance mismatch
• Joins don’t needed as much
• Multi-row / multi-table transactions don’t
needed as much
To SQL or no to SQL
Monday, June 3, 13
49. Disadvantages of NoSQL Databases
• Many different data modes
• No standard/universal query syntax
• Each product uses a different one
• Vendor lock-in?
• Learning curve (on your data layer!)
• Can you live with BASE?
To SQL or no to SQL
Monday, June 3, 13
50. • Not using referential integrity
• Minimizing the use of JOINS
• Denormalizing (a lot) of your data
• Saying “no” to some features
To SQL or no to SQL
Consider NoSQL Databases
if for performance reasons you are...
Monday, June 3, 13
52. Recommended Books
• NoSQL Distilled by Pramod Sadalage
and Martin Fowler
• MongoDB The Definitive Guide by
Kristina Chodorow and Michael Dirolf
Monday, June 3, 13
54. • Bigtable: Google NoSQL database
• Big Data: Buzz word
• HBase:Apache’s NoSQL database
• MapReduce: Programming model to process data in a cluster
(ETL)
• Hadoop: Apache product to run MapReduce jobs
• ACID: Mantra for Relational Databases. Properties for
database transactions (atomicity, consistency, isolation,
durability)
• BASE: Mantra for NoSQL databases. Basically Available, Soft
state, and eventually consistent.
Glossary
Monday, June 3, 13