JSON stands for JavaScript Object Notation. JSON objects are used for transferring data between server and client.
JSON Is Not XML.
JSON is a simple, common representation of data.
Describes a Web development technique for creating interactive Web applications using a combination of HTML (or XHTML) and Cascading Style Sheets for presenting information; Document Object Model (DOM).
JavaScript, to dynamically display and interact with the information presented; and the XMLHttpRequest object to interchange and manipulate data asynchronously with the Web server.
It allows for asynchronous communication, Instead of freezing up until the completeness, the browser can communicate with server and continue as normal.
Introduction to Programming (well, kind of.)Julie Meloni
I worked through these slides during the THATCamp New England 2010 Introduction to Programming Bootcamp Session. For more info on THATCamp NE see http://www.thatcampnewengland.org/
Transforming JSON data to Java object is easy. But, how if it cannot handle the unrecognized field? Everything must be strictly defined. So, how to adapt to change?
JSON stands for JavaScript Object Notation. JSON objects are used for transferring data between server and client.
JSON Is Not XML.
JSON is a simple, common representation of data.
Describes a Web development technique for creating interactive Web applications using a combination of HTML (or XHTML) and Cascading Style Sheets for presenting information; Document Object Model (DOM).
JavaScript, to dynamically display and interact with the information presented; and the XMLHttpRequest object to interchange and manipulate data asynchronously with the Web server.
It allows for asynchronous communication, Instead of freezing up until the completeness, the browser can communicate with server and continue as normal.
Introduction to Programming (well, kind of.)Julie Meloni
I worked through these slides during the THATCamp New England 2010 Introduction to Programming Bootcamp Session. For more info on THATCamp NE see http://www.thatcampnewengland.org/
Transforming JSON data to Java object is easy. But, how if it cannot handle the unrecognized field? Everything must be strictly defined. So, how to adapt to change?
Scala with MongoDB
MongoDB is a document-oriented database management system designed for performance, horizontal scalability, high availability,open source NoSQL database(Schemaless or Non-relational) ,And advanced queryability. ➢ MongoDB is a document-based database system, and as a result, all records, or data, in MongoDB are documents.
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...BookNet Canada
Workshop: "You Want to Go XML-First: Now What? Building an In-House XML-First Workflow" by Terri Rothman & Sylvia Hunter (P-Shift, University of Toronto Press) for ebookcraft 2016, presented by BookNet Canada and eBOUND Canada - March 30, 2016
Ebook Accessibility: Why, How, and What For - ebookcraft 2016 - Laura BradyBookNet Canada
Workshop: "Ebook Accessibility: Why, How, and What For" by Laura Brady (Brady Type) for ebookcraft 2016, presented by BookNet Canada and eBOUND Canada - March 30, 2016
A quick overview of the ePUB 3 format and various implementations of it in e-book publishing. This is the talk given at HTML5 meetup in Vancouver on April 12, 2012.
Experion Presentation at JavaOne 2011: Memory optimizing Java ME applicationsExperion Technologies
The session "Memory-Optimizing Java ME Applications" was taken by Sreekumar Pillai, CTO, Experion Technologies at the 2011 JavaOne conference held in San Francisco, California.
Enterprise mobile applications often include more data-entry-intensive screens and more screen transitions than regular consumer applications. Also the data in a mobile phone is required to be in sync with the data in a back-end server. Due to the limitation in memory capacity for low-end devices, the application design must be highly optimized to avoid any out-of-memory errors during application usage.
This session closely examines the challenges and offers solutions for memory management issues, based on the experience of implementing a field force automation solution for emerging markets.
Scala with MongoDB
MongoDB is a document-oriented database management system designed for performance, horizontal scalability, high availability,open source NoSQL database(Schemaless or Non-relational) ,And advanced queryability. ➢ MongoDB is a document-based database system, and as a result, all records, or data, in MongoDB are documents.
You Want to Go XML-First: Now What? Building an In-House XML-First Workflow -...BookNet Canada
Workshop: "You Want to Go XML-First: Now What? Building an In-House XML-First Workflow" by Terri Rothman & Sylvia Hunter (P-Shift, University of Toronto Press) for ebookcraft 2016, presented by BookNet Canada and eBOUND Canada - March 30, 2016
Ebook Accessibility: Why, How, and What For - ebookcraft 2016 - Laura BradyBookNet Canada
Workshop: "Ebook Accessibility: Why, How, and What For" by Laura Brady (Brady Type) for ebookcraft 2016, presented by BookNet Canada and eBOUND Canada - March 30, 2016
A quick overview of the ePUB 3 format and various implementations of it in e-book publishing. This is the talk given at HTML5 meetup in Vancouver on April 12, 2012.
Experion Presentation at JavaOne 2011: Memory optimizing Java ME applicationsExperion Technologies
The session "Memory-Optimizing Java ME Applications" was taken by Sreekumar Pillai, CTO, Experion Technologies at the 2011 JavaOne conference held in San Francisco, California.
Enterprise mobile applications often include more data-entry-intensive screens and more screen transitions than regular consumer applications. Also the data in a mobile phone is required to be in sync with the data in a back-end server. Due to the limitation in memory capacity for low-end devices, the application design must be highly optimized to avoid any out-of-memory errors during application usage.
This session closely examines the challenges and offers solutions for memory management issues, based on the experience of implementing a field force automation solution for emerging markets.
Event triggered control design of linear networked systems with quantizationsISA Interchange
This paper is concerned with the control design problem of event-triggered networked systems with both state and control input quantizations. Firstly, an innovative delay system model is proposed that describes the network conditions, state and control input quantizations, and event-triggering mechanism in a unified framework. Secondly, based on this model, the criteria for the asymptotical stability analysis and control synthesis of event-triggered networked control systems are established in terms of linear matrix inequalities (LMIs). Simulation results are given to illustrate the effectiveness of the proposed method.
The application and suitability of existing and new valves at various function points throughout the power generation system is outlined and explained. The paper does a good job of reducing the complicated issue into a few pages of direct understandable explanation.
Agenda:
MongoDB Overview/History
Workshop
1. How to perform operations to MongoDB – Workshop
2. Using MongoDB in your Java application
Advance usage of MongoDB
1. Performance measurement comparison – real life use cases
3. Doing Cluster setup
4. Cons of MongoDB with other document oriented DB
5. Map-reduce/ Aggregation overview
Workshop prerequisite
1. All participants must bring their laptops.
2. https://github.com/geek007/mongdb-examples
3. Software prerequisite
a. Java version 1.6+
b. Your favorite IDE, Preferred http://www.jetbrains.com/idea/download/
c. MongoDB server version – 2.6.3 (http://www.mongodb.org/downloads - 64 bit version)
d. Participants can install MongoDB client – http://robomongo.org/
About Speaker:
Akbar Gadhiya is working with Ishi Systems as Programmer Analyst. Previously he worked with PMC, Baroda and HCL Technologies.
Web APIs have revolutionized all kinds of products and services, and still continue to do so. Nowadays the most relevant architecture is REST along with the JSON media type. Furthermore, lots of specifications to serialize those media types are appearing. JSON API has released its first version last May.
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaGuido Schmutz
Apache Kafka is a popular distributed streaming data platform. A Kafka cluster stores streams of records (messages) in categories called topics. It is the architectural backbone for integrating streaming data with a Data Lake, Microservices and Stream Processing. Data sources flowing into Kafka are often native data streams such as social media streams, telemetry data, financial transactions and many others. But these data stream only contain part of the information. A lot of data necessary in stream processing is stored in traditional systems backed by relational databases. To implement new and modern, real-time solutions, an up-to-date view of that information is needed. So how do we make sure that information can flow between the RDBMS and Kafka, so that changes are available in Kafka as soon as possible in near-real-time? This session will present different approaches for integrating relational databases with Kafka, such as Kafka Connect, Oracle GoldenGate and bridging Kafka with Oracle Advanced Queuing (AQ).
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaGuido Schmutz
A Kafka cluster stores streams of records (messages) in categories called topics. It is the architectural backbone for integrating streaming data with a Data Lake, Microservices and Stream Processing. Today’s enterprises have their core systems often implemented on top of relational databases, such as the Oracle RDBMS. Implementing a new solution supporting the digital strategy using Kafka and the ecosystem can not always be done completely separate from the traditional legacy solutions. Often streaming data has to be enriched with state data which is held in an RDBMS of a legacy application. It’s important to cache this data in the stream processing solution, so that It can be efficiently joined to the data stream. But how do we make sure that the cache is kept up-to-date, if the source data changes? We can either poll for changes from Kafka using Kafka Connect or let the RDBMS push the data changes to Kafka. But what about writing data back to the legacy application, i.e. an anomaly is detected inside the stream processing solution which should trigger an action inside the legacy application. Using Kafka Connect we can write to a database table or view, which could trigger the action. But this not always the best option. If you have an Oracle RDBMS, there are many other ways to integrate the database with Kafka, such as Advanced Queueing (message broker in the database), CDC through Golden Gate or Debezium, Oracle REST Database Service (ORDS) and more. In this session, we present various blueprints for integrating an Oracle RDBMS with Apache Kafka in both directions and discuss how these blueprints can be implemented using the products mentioned before.
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...confluent
A Kafka cluster stores streams of records (messages) in categories called topics. It is the architectural backbone for integrating streaming data with a Data Lake, Microservices and Stream Processing. Today's enterprises have their core systems often implemented on top of relational databases, such as the Oracle RDBMS. Implementing a new solution supporting the digital strategy using Kafka and the ecosystem can not always be done completely separate from the traditional legacy solutions. Often streaming data has to be enriched with state data which is held in an RDBMS of a legacy application. It's important to cache this data in the stream processing solution, so that It can be efficiently joined to the data stream. But how do we make sure that the cache is kept up-to-date, if the source data changes? We can either poll for changes from Kafka using Kafka Connect or let the RDBMS push the data changes to Kafka. But what about writing data back to the legacy application, i.e. an anomaly is detected inside the stream processing solution which should trigger an action inside the legacy application. Using Kafka Connect we can write to a database table or view, which could trigger the action. But this not always the best option. If you have an Oracle RDBMS, there are many other ways to integrate the database with Kafka, such as Advanced Queueing (message broker in the database), CDC through Golden Gate or Debezium, Oracle REST Database Service (ORDS) and more. In this session, we present various blueprints for integrating an Oracle RDBMS with Apache Kafka in both directions and discuss how these blueprints can be implemented using the products mentioned before.
Replacing Oracle with MongoDB for a templating application at the Bavarian go...Comsysto Reply GmbH
Bavarian government runs a document template application (RTF or ODF with Groovy, Python, Ruby or Tcl as scripting language) serving different government offices. Having complex and hierarchical data structures to organize the templates, MongoDB was selected to replace the Oracle-based persistence layer. This presentation is about the improvements they have achieved with the migration to MongoDB, problems they had to solve underway and unit testing of the persistence layer in order to keep their quality level. Presentation slides by Christian Brensing, Senior Developer at Rechenzentrum Süd, shown at Munich MongoDB User Group Meetup on 18th September 2012
In the age of digital transformation and disruption, your ability to thrive depends on how you adapt to the constantly changing environment. MongoDB 3.4 is the latest release of the leading database for modern applications, a culmination of native database features and enhancements that will allow you to easily evolve your solutions to address emerging challenges and use cases.
In this webinar, we introduce you to what’s new, including:
- Multimodel Done Right. Native graph computation, faceted navigation, rich real-time analytics, and powerful connectors for BI and Apache Spark bring additional multimodel database support right into MongoDB.
- Mission-Critical Applications. Geo-distributed MongoDB zones, elastic clustering, tunable consistency, and enhanced security controls bring state-of-the-art database technology to your most mission-critical applications.
- Modernized Tooling. Enhanced DBA and DevOps tooling for schema management, fine-grained monitoring, and cloud-native integration allow engineering teams to ship applications faster, with less overhead and higher quality.
MongoDB Munich 2012: MongoDB for official documents in BavariaMongoDB
Christian Brensing, Senior Developer, State of Bavaria
The Bavarian government runs a document template application (RTF or ODF with Groovy, Python, Ruby or Tcl as scripting language) serving different government offices. Having complex and hierarchical data structures to organize the templates, MongoDB was selected to replace the Oracle-based persistence layer. In this talk you will hear about the improvements we have achieved with the migration to MongoDB, problems we had to solve underway and unit testing of the persistence layer in order to keep our quality level.
Specification-Driven Development of REST APIs by Alexander Zinchuk OdessaJS Conf
A good API specification isn’t just about writing API documentation well. I want to share examples of how one can:
- Make unit tests simpler and more reliable;
- Set up user input preprocessing and validation;
- Automate serialization and ensure response consistency, and event
- Enjoy the benefits of static typing;
This approach is a compilation of different discrete ideas, all based on the smart use of an API specification.
We will take an introductory look at CouchDB with a brief review of the NoSQL movement. We will spend most of the time in actual code and examples from real projects and the Futon web interface, giving a better feeling for what's going on. Plenty of time for Q&A.
Benjamin Guinebertière - Microsoft Azure: Document DB and other noSQL databas...NoSQLmatters
When deploying your service to Microsoft Azure, you have a number of options in terms of noSQL: you can install databases on Linux or Windows virtual machines by yourself, or via the marketplace, or you can use open source databases available as a service like HBase or proprietary and managed databases like Document DB. After showing these options, we'll show Document DB in more details. This is a noSQL database as a service that stores JSON.
Kafka is an open-source distributed commit log addressing low latency, high throughput, scalability, fault-tolerance, and disk-based retention. It can be used to build tracking systems, messaging systems, high performance streaming platforms, real-time analysis, audit log….you name it. In our case, it’s been used to build a scalable event-store and messaging platform that stores billions of messages.
In this talk, we’re taking a closer look at essential Kafka concepts such as partition rebalancing, offset management, replication, producer/broker request fetching, file segments, etc. to understand what makes Kafka so scalable, resilient, performant and fault tolerant. We will also touch upon Kafka transactions to know what they are and how to leverage them. Last but not the least we will highlight some potential pitfalls that one should watch out when going to production with Kafka.
Scaling CQRS in theory, practice, and realitynklmish
Slides from my presentation at O'Reilly Software Architecture 2018, co-presented with Allard Buijze.
Much hyped architectural pattern CQRS is getting a lot of attention, but it does actually deliver on its promises of managing complexity and scalability when used with the right abstractions. Casumo, a Malta-based online casino, adopted the principles of CQRS based on these promises. As the company scaled to hundreds of employees and over a hundred services, these promises were put to the challenge.
Allard Buijze and Nakul Mishra discuss the challenges Casumo faced while scaling its system to millions of financial transactions per day and applying event sourcing with billions of events to keep up with the ever-changing demands of the gaming industry.
There's a ton of theory available on DDD, event sourcing and CQRS but how does one get's started in terms of code? Moreover, when we have a tight deadline, one wants to solely focus on solving core business problems rather than getting caught up by plumbing non-functional concerns such as snapshotting, command handling, guaranteed events delivery to the right event listeners, events replaying, persisting aggregate, etc. In this talk, we will build an application to see how Axon Framework supports CQRS and Event sourcing by providing a robust implementation for fundamental building blocks such as event dispatching mechanism, aggregates, repositories, event sourcing, Domain Events, etc.to build scalable, extensible and maintainable applications. Furthermore, Axon provides extensive support for Spring which means much of the configuration can be avoided by leveraging Spring's annotation support.
Distributed tracing - get a grasp on your productionnklmish
Slides from my presentation on distributed tracing, explaining what is latency and why it matters. We took a look at openzipkin and its concepts like how the core annotations works, what are tags/logs, etc. Followed by a demo application created using golang and java (spring boot , spring cloud sleuth zipkin) . You can find source code here
https://github.com/nklmish/go-distributed-tracing-demo
https://github.com/nklmish/java-distributed-tracing-demo
Slides from my presentation on microservices, spring cloud oss, service registry, zuul, hystrix. We also discuss various flavours of service registry for instance when zookeeper, eureka, consul. Then we took a first look on zuul and its key components, hystrix, hystrix dashboard, all accompanied with a demo hosted on github.
Graph database can be used in social media, fraud detection, Identity management, real time recommendation and various other fields. Neo4J is a graph database that offers native graph processing along with ACID support, flexibility and agility. When it comes to querying the database, cypher is the query language that is created by Neo4J in order to express graph model into user defined queries.
An overview on docker and container technology behind it. Lastly, we discuss few tools that might come handy when dealing with large number of containers management.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
3. This talk is not about :
NoSql
Relational vs Non-Relational
Comparison of other NoSql flavors
NOTE
4. “One size fits all” approach no longer applies
NoSql Database
SchemaLess != NoSchema
Document based Approach
Non-Relational Dbs scale more easily, especially
horizontally
In a nutshell focus on speed, performance, flexibility and
scalability.
What is MongoDB?
“Nothing endures but change”
5. Agility.
High Scalability => horizontal => thousand of nodes or clouds or across multiple data centers
Rich Indexing
Real life example:
Server Density
OTTO
Expedia, Forbes, MetLife,Bosch, etc.
Why?
“Luck is not a factor. Hope is not a strategy. Fear is not an option”
7. Standard Db Features
Docs are stored in BSON => Mongo understands JSON
natively => Any Valid JSON can be imported and
queried(E.g. mongoimport -f foo.json).
Map Reduce
Aggregation Framework
GridFS (for Efficient binary large objects )
GeoNear
Features
“Stable Velocity. Sustainable Pace.”
8. $match – filter docs
$project – reshape docs
$group – Summarize docs
$unwind – Expand docs
$sort – Order docs
$limit/$skip – paginate docs
$redact – Restrict docs
$geoNear – Proximity sort docs
$let, $map – Define variables
Aggregation In Nutshell
“Talk is cheap. Show me the code”
9. {
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
{
name : “Javascript”,
price : 150,
Type : “hardCopy”
}
Matching
{$match : {
Type : “ebook”
}}
{
name : “Java”,
price : 200,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
10. {
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
{
name : “Javascript”,
price : 150,
Type : “hardCopy”
}
Query Operator
{$match : {
price : {$gt : 200}
}}
{
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
11. {
name : “Java”,
price : 250,
Type : “ebook”
}
{
name : “Php”,
price : 200,
Type : “ebook”
}
Including Excluding part of document
{$project : {
name :1,
price : 1,
Type : 0
}}
{
name : “Java”,
price : 200”
}
{
name : “Php”,
price : 200
}
21. Sharding
Allow to store data across multiple machines.
Ok but what for ?
Database systems with large data sets and high throughput applications
can challenge the capacity of a single server.
High query rates can exhaust the CPU capacity of the server.
Larger data sets exceed the storage capacity of a single machine
Working set sizes larger than the system’s RAM stress the I/O capacity of
disk drives.
23. Replica Set
Group of mongod processes that maintain the same data set. Provides redundancy and high
availability, in a nutshell basis for all production deployments.
Min 3 nodes required E.g.
24. Document oriented db.
Scale and performs well
Provide powerful aggregration framework
Tested on massive datasets.
Support for map reduce.
Summary