В докладе речь пойдет о внедрении WebSockets в масштабный проект: ~ 400 типов сущностей, высокая плотность информации (> 10K items on dashboard), и высокие требования к актуальности данных. Стек проекта: PHP, Laravel, MySQL, Redis, Beanstalkd, Ractivejs.
[MongoDB.local Bengaluru 2018] Just in Time Validation with JSON SchemaMongoDB
Presented by: Dinesh Chander
Abstract: MongoDB has always offered application developers a flexible schema. However, in any organization, a number of factors ranging from risk mitigation to policy may drive the need to enforce a more rigid schema. This feature is a boon to developer productivity, enabling applications to evolve naturally with changing requirements without the need to revisit the schema designs at multiple layers of the stack. In this talk, I will provide an overview of MongoDB's implementation of JSON Schema, an industry standard for data validation. I will also outline how teams can introduce JSON schema validation at just the right time in the lifecycle of their applications, balancing the benefits of developer productivity with requirements for strict schema enforcement.
MongoDB .local Chicago 2019: Practical Data Modeling for MongoDB: TutorialMongoDB
For 30 years, developers have been taught that relational data modeling was THE way to model, but as more companies adopt MongoDB as their data platform, the approaches that work well in relational design actually work against you in a document model design. In this talk, we will discuss how to conceptually approach modeling data with MongoDB, focusing on practical foundational techniques, paired with tips and tricks, and wrapping with discussing design patterns to solve common real world problems.
В докладе речь пойдет о внедрении WebSockets в масштабный проект: ~ 400 типов сущностей, высокая плотность информации (> 10K items on dashboard), и высокие требования к актуальности данных. Стек проекта: PHP, Laravel, MySQL, Redis, Beanstalkd, Ractivejs.
[MongoDB.local Bengaluru 2018] Just in Time Validation with JSON SchemaMongoDB
Presented by: Dinesh Chander
Abstract: MongoDB has always offered application developers a flexible schema. However, in any organization, a number of factors ranging from risk mitigation to policy may drive the need to enforce a more rigid schema. This feature is a boon to developer productivity, enabling applications to evolve naturally with changing requirements without the need to revisit the schema designs at multiple layers of the stack. In this talk, I will provide an overview of MongoDB's implementation of JSON Schema, an industry standard for data validation. I will also outline how teams can introduce JSON schema validation at just the right time in the lifecycle of their applications, balancing the benefits of developer productivity with requirements for strict schema enforcement.
MongoDB .local Chicago 2019: Practical Data Modeling for MongoDB: TutorialMongoDB
For 30 years, developers have been taught that relational data modeling was THE way to model, but as more companies adopt MongoDB as their data platform, the approaches that work well in relational design actually work against you in a document model design. In this talk, we will discuss how to conceptually approach modeling data with MongoDB, focusing on practical foundational techniques, paired with tips and tricks, and wrapping with discussing design patterns to solve common real world problems.
Building decentralised apps with js - Devoxx Morocco 2018Mikhail Kuznetcov
Intro what are Smart Contracts, Etherium and blockchain applications. Blockchain developer ecosystem - how to bootstrap, build, test and deploy. Using JS(Web3) to interact with smart contracts.
Knots - the Lazy Data Transfer Objects for Dealing with the Microservices CrazeAlexander Shopov
Microservices architectures are distributed ones, thus using them has perils. 'Knots' are a trivial, almost mechanical way to represent the flow of data in them that is composable, extendable and relatively easy to reason about. It simplifies refactors and maintenance and makes roundtrips easy to account. They are compatible with caching, different architectures. Just get an ID and promise to give what it corresponds to when you ask for it.
Microservices make database joins either redundant application level job or very difficult application level job depending on whether you are designing the microservice or are using it. Even though joins may be impossible you need to tie data together - that's why you use knots. A knot may tie several things together, it may even tie one knot to another.
In design patterns parlance knot is just your run of the mill lazily instantiated facade proxy for data transfer that you can observe when you have to. Except it is not! It is a knot.
Just have an id and you will get it.
And once you get it - keep it knotted together.
The major advantage of blockchain data structure is that it automates auditing and makes an application transparent yet secure. It can prevent fraud and corruption. It can be used to solve many other problems depending on how you implement and use it.
[MongoDB.local Bengaluru 2018] Introduction to MongoDB StitchMongoDB
Presented by:
Abstract: MongoDB Stitch is our new Backend as a Service (BaaS) that makes it easy for developers to create and launch applications across mobile and web platforms. Stitch provides a REST API on top of MongoDB with read, write, and validation rules built-in and full integration with the services you love. This talk will cover the what, why, and how of MongoDB Stitch. We’ll discuss everything from features to the architecture. You’ll walk away knowing how Stitch can kickstart your new project or take your existing application to the next level.
Taller: Datos en tiempo real con GraphQLSoftware Guru
En este taller práctico construiremos un backend sencillo de GraphQL utilizando GraphQL Yoga, un servidor open source para GraphQL.
Nota: Los participantes requieren traer una computadora con cierto software preinstalado y estudiar previamente cierta teoría básica sobre GraphQL — https://github.com/Ikana/dataday-gql
Por Rodrigo Quezada
Enonic Content Repository built on elasticsearchenonic
This slide-set gives a brief overview of the Enonic Content Repository, part of Enonic eXperience Platform. This was a lightning talk at Elastic{ON} 2015 by Runar Myklebust.
The project is open source and can be found on http://github.com/enonic/xp
Montreal Sql saturday: moving data from no sql db to azure data lakeDiponkar Paul
NoSQL database have grown popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL database also have been using in big data landscape. The demo rich session will elaborate difference between SQL and NoSQL. And end to end solution for data moving capabilities from NoSQL database MongoDB by using Azure data factory.
After a brief introduction into the history of Database Management Systems different types of NoSQL data stores are characterized. Theoretical background information about sharding mechanisms, horizontal scaling and the CAP theorem are getting explained.
After a comparison of different NoSQL stores you will get to know the pros and cons of the different approaches and you will learn how to take the decision for the best fitting database in your project.
Lean React - Patterns for High Performance [ploneconf2017]Devon Bernard
Modern web tools are enabling developers to build web apps in no-wifi and low-fi environments. This talk is about performance and how frontend engineers can create a better user experience while using less resources.
Talk presented on Oct 20, 2017 at PloneConf2017.
Topics:
Airplane mode for web apps:
Mobile and native apps get lots of praise for offline mode. But why aren’t we seeing more web-apps using this. Two reasons: persistent data and code storage. We can now provide offline apps with Web Workers and IndexedDB that also improve the smoothness and robustness of our web apps in high bandwidth environments.
Redux:
Persisting state, store middleware, store subscriptions, normalizing data, normalizr, pure reducers, redux dev tools
Components:
Data heavy pages, component blocks, component skeletons, component lifecycle, shouldComponentUpdate, virtual dom, chrome render tools, method binding
Actions:
ActionTypes, action chaining, promises, store.getState()
General:
env files, route wrappers, offline first, web workers, indexeddb, eslint, airbnb style guide
Building decentralised apps with js - Devoxx Morocco 2018Mikhail Kuznetcov
Intro what are Smart Contracts, Etherium and blockchain applications. Blockchain developer ecosystem - how to bootstrap, build, test and deploy. Using JS(Web3) to interact with smart contracts.
Knots - the Lazy Data Transfer Objects for Dealing with the Microservices CrazeAlexander Shopov
Microservices architectures are distributed ones, thus using them has perils. 'Knots' are a trivial, almost mechanical way to represent the flow of data in them that is composable, extendable and relatively easy to reason about. It simplifies refactors and maintenance and makes roundtrips easy to account. They are compatible with caching, different architectures. Just get an ID and promise to give what it corresponds to when you ask for it.
Microservices make database joins either redundant application level job or very difficult application level job depending on whether you are designing the microservice or are using it. Even though joins may be impossible you need to tie data together - that's why you use knots. A knot may tie several things together, it may even tie one knot to another.
In design patterns parlance knot is just your run of the mill lazily instantiated facade proxy for data transfer that you can observe when you have to. Except it is not! It is a knot.
Just have an id and you will get it.
And once you get it - keep it knotted together.
The major advantage of blockchain data structure is that it automates auditing and makes an application transparent yet secure. It can prevent fraud and corruption. It can be used to solve many other problems depending on how you implement and use it.
[MongoDB.local Bengaluru 2018] Introduction to MongoDB StitchMongoDB
Presented by:
Abstract: MongoDB Stitch is our new Backend as a Service (BaaS) that makes it easy for developers to create and launch applications across mobile and web platforms. Stitch provides a REST API on top of MongoDB with read, write, and validation rules built-in and full integration with the services you love. This talk will cover the what, why, and how of MongoDB Stitch. We’ll discuss everything from features to the architecture. You’ll walk away knowing how Stitch can kickstart your new project or take your existing application to the next level.
Taller: Datos en tiempo real con GraphQLSoftware Guru
En este taller práctico construiremos un backend sencillo de GraphQL utilizando GraphQL Yoga, un servidor open source para GraphQL.
Nota: Los participantes requieren traer una computadora con cierto software preinstalado y estudiar previamente cierta teoría básica sobre GraphQL — https://github.com/Ikana/dataday-gql
Por Rodrigo Quezada
Enonic Content Repository built on elasticsearchenonic
This slide-set gives a brief overview of the Enonic Content Repository, part of Enonic eXperience Platform. This was a lightning talk at Elastic{ON} 2015 by Runar Myklebust.
The project is open source and can be found on http://github.com/enonic/xp
Montreal Sql saturday: moving data from no sql db to azure data lakeDiponkar Paul
NoSQL database have grown popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL database also have been using in big data landscape. The demo rich session will elaborate difference between SQL and NoSQL. And end to end solution for data moving capabilities from NoSQL database MongoDB by using Azure data factory.
After a brief introduction into the history of Database Management Systems different types of NoSQL data stores are characterized. Theoretical background information about sharding mechanisms, horizontal scaling and the CAP theorem are getting explained.
After a comparison of different NoSQL stores you will get to know the pros and cons of the different approaches and you will learn how to take the decision for the best fitting database in your project.
Lean React - Patterns for High Performance [ploneconf2017]Devon Bernard
Modern web tools are enabling developers to build web apps in no-wifi and low-fi environments. This talk is about performance and how frontend engineers can create a better user experience while using less resources.
Talk presented on Oct 20, 2017 at PloneConf2017.
Topics:
Airplane mode for web apps:
Mobile and native apps get lots of praise for offline mode. But why aren’t we seeing more web-apps using this. Two reasons: persistent data and code storage. We can now provide offline apps with Web Workers and IndexedDB that also improve the smoothness and robustness of our web apps in high bandwidth environments.
Redux:
Persisting state, store middleware, store subscriptions, normalizing data, normalizr, pure reducers, redux dev tools
Components:
Data heavy pages, component blocks, component skeletons, component lifecycle, shouldComponentUpdate, virtual dom, chrome render tools, method binding
Actions:
ActionTypes, action chaining, promises, store.getState()
General:
env files, route wrappers, offline first, web workers, indexeddb, eslint, airbnb style guide
Eagle6 is a product that use system artifacts to create a replica model that represents a near real-time view of system architecture. Eagle6 was built to collect system data (log files, application source code, etc.) and to link system behaviors in such a way that the user is able to quickly identify risks associated with unknown or unwanted behavioral events that may result in unknown impacts to seemingly unrelated down-stream systems. This session is designed to present the capabilities of the Eagle6 modeling product and how we are using MongoDB to support near-real-time analysis of large disparate datasets.
Baton rouge - sql vs no sql and azure data factoryDiponkar Paul
NoSQL databases have grown in popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL databases also have been used in the big data landscape. The demo rich session will elaborate the difference between SQL and NoSQL. And data moving capabilities from NoSQL database MongoDB to Azure Data Lake by using Azure data factory.
SQL vs. NoSQL and Moving data by Azure Data FactoryDiponkar Paul
NoSQL databases have grown in popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL databases also have been used in the big data landscape. The demo rich session will elaborate the difference between SQL and NoSQL. And end to end solution for data moving capabilities from NoSQL database MongoDB to Azure Data Lake by using Azure data factory.
A Free New World: Atlas Free Tier and How It Was Born MongoDB
A Free New World: Atlas Free Tier and How It Was Born
Speaker: Louisa Berger, Senior Software Engineer
Speaker: Vincent Do, Fullstack Engineer, MongoDB
Level: 200 (Intermediate)
Track: How We Build MongoDB
Last year, MongoDB released Atlas – a new Database as as Service product that takes handles running, monitoring, and maintaining your MongoDB deployment in the Cloud. This winter, we added a new Free Tier option to the product, which allows users to try out Atlas with their own real data for free. Lead Automation engineer Louisa Berger and Atlas engineer Vincent Do will talk about how it works behind the scenes, and why you might want to try out Atlas. This talk is intended for developers, and will take you through the technical details of the architecture, and show you the techniques and challenges in building a multi-tenant MongoDB.
What You Will Learn:
- Insights on how/why you should use the Atlas free tier
- How the Atlas free tier was designed and implemented
- Best practices for building a multi-tenant MongoDB application
NoSQL databases have grown in popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL databases also have been used in the big data landscape. The demo rich session will elaborate the difference between SQL and NoSQL. And end to end solution for data moving capabilities from NoSQL database MongoDB to Azure Data Lake by using Azure data factory
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
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 Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
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.
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.
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.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
3. 3
Captures some attributes of
RDBMS (SQL DB!) with the
intent of providing the context
behind non-relational database
models
Does not attempt to capture
the pro-s or con-s of RDBMS.
Does not attempt to explain
RDBMS’ role in modern server
architectures etc.
7. 7
An event in job table must already have an entry in event table (create an entry in event table and then
attach it to a job table to which it belongs). Schema changes (version) management is not trivial either.
8. 8
Thinking in tables needs a different skillset than creating a Job class. In other words, memory data
structures (classes/objects in your heap or in a in-mem db) rarely resemble relational tables. Keeping
them in-synch while rapid development/ prototyping is costly.
Jobs
Job Definition
Events
Status
=
9. 9
Clustering
(sharding,
replicating etc.)
data is a necessity
with constantly
evolving
relationships
(=schema) and
exponentially
increasing
volumes. Doing
that in RDBMS is
complicated to say
the least
12. 12
KEY VALUE
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
DOCUMENT
GRAPH
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
Event Id: <id>
Event:
{
Lat: 12.952772
Long: 77.644305
Type: <location alert>
}
}
COLUMN FAMILY
a
c
b
x
z
y
13. 13
= A Key to a value mapping storage
Think of java.util.Map<K,V>
The DB knows only about the keys
Values could be anything; they are just stored and retrieved,
never processed
Use cases:
– User -> Profile Data
– User -> Preference Data
– User -> Session Data
14. {
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
User Id: <id>
User:
{
Call Name: X
Address: Y
Genres: [“action”, “noir”]
}
}
{
Event Id: <id>
Event:
{
Lat: 12.952772
Long: 77.644305
Type: <location alert>
}
}
= A (implicit) Key (id) to a document (value) mapping storage
Think of filing a document in a folder
Values are supplied in readable formats – json, bson, XML
Values are visible to the database and typically indexed
Use cases:
– Rapidly evolving data (application of schema like thing can
be delayed till maturity)
– Event processing (self contained documents for future
computation; mostly ‘read’ or ‘created’ and rarely ‘updated’)
15. = Column is the unit of data; Stores columns as groups (‘families’)
Think of it as a ‘sparse matrix’
Every row (key) may have data only against a sub-set of
columns
Use cases:
– Live analytics, Iteratively computed outcomes
{column family
‘likes’
user1
user2
userX
userY
16. = Graphs with data in both nodes and edges
Think of it as a, well, just graph!
Node data represent what we normally think as ‘data’
Edge data represent the ‘relationship’ between the connected
nodes
Use cases:
– Recommendations, Relationship traversal & analytics
a
c
b
x
z
y
17.
18. 18
No SQL Distilled
The Definitive Guide to MongoDB
Plenty of references in WWW
19. 19
DB Schema: http://commons.wikimedia.org/wiki/File:Mediawiki-database-schema.png
Internet per Minute: http://upload.wikimedia.org/wikipedia/commons/5/54/Internet_Minute_Infographic.jpg
NoSQL Boom: From Ramana under CC2.0