This document provides an overview of MongoDB and how it compares to traditional RDBMS systems. It discusses key concepts like how MongoDB uses JSON-like documents with flexible schemas rather than rigid tables. It also covers CRUD operations, indexing, replication, and how data is stored and queries in MongoDB compared to SQL.
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesMongoDB
This is the fourth webinar of a Back to Basics series that will introduce you to the MongoDB database. This webinar will introduce you to the aggregation framework.
MongoDB .local Munich 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...MongoDB
This document discusses MongoDB's new client-side field level encryption capabilities in version 4.2. It describes how client-side encryption works, including encrypting and decrypting data before it is sent to or retrieved from the database. It also covers key management and the use of JSON schemas to define which fields should be encrypted.
Optimizing Slow Queries with Indexes and CreativityMongoDB
This document discusses optimizing slow queries in MongoDB through the use of indexes and schema design. It begins with examples of common performance issues like inefficient reads from table scans and writes causing locks. Each example shows the slow query, explains the problem, and proposes a solution like adding an index. It emphasizes that new indexes only scale up to a point and sometimes the best approach is to redesign the schema or add hardware. The talk provides guidance on measuring performance, finding slow queries, determining if they can be indexed, and rephrasing problems in terms of desired queries.
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...MongoDB
This document contains the slides from a webinar on building a basic MongoDB application. It introduces MongoDB concepts and terminology, shows how to install MongoDB, create a basic blogging application with articles, users and comments, and add and query data. Key steps include installing MongoDB, launching the mongod process, connecting with the mongo shell, inserting documents, finding and querying documents, and updating documents by adding fields and pushing to arrays.
Map/Confused? A practical approach to Map/Reduce with MongoDBUwe Printz
Talk given at MongoDb Munich on 16.10.2012 about the different approaches in MongoDB for using the Map/Reduce algorithm. The talk compares the performance of built-in MongoDB Map/Reduce, group(), aggregate(), find() and the MongoDB-Hadoop Adapter using a practical use case.
MongoDB + Java - Everything you need to know Norberto Leite
Learn everything you need to know to get started building a MongoDB-based app in Java. We'll explore the relationship between MongoDB and various languages on the Java Virtual Machine such as Java, Scala, and Clojure. From there, we'll examine the popular frameworks and integration points between MongoDB and the JVM including Spring Data and object-document mappers like Morphia.
Mythbusting: Understanding How We Measure the Performance of MongoDBMongoDB
Benchmarking, benchmarking, benchmarking. We all do it, mostly it tells us what we want to hear but often hides a mountain of misinformation. In this talk we will walk through the pitfalls that you might find yourself in by looking at some examples where things go wrong. We will then walk through how MongoDB performance is measured, the processes and methodology and ways to present and look at the information.
Back to Basics Webinar 3: Schema Design Thinking in DocumentsMongoDB
This is the third webinar of a Back to Basics series that will introduce you to the MongoDB database. This webinar will explain the architecture of document databases.
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesMongoDB
This is the fourth webinar of a Back to Basics series that will introduce you to the MongoDB database. This webinar will introduce you to the aggregation framework.
MongoDB .local Munich 2019: New Encryption Capabilities in MongoDB 4.2: A Dee...MongoDB
This document discusses MongoDB's new client-side field level encryption capabilities in version 4.2. It describes how client-side encryption works, including encrypting and decrypting data before it is sent to or retrieved from the database. It also covers key management and the use of JSON schemas to define which fields should be encrypted.
Optimizing Slow Queries with Indexes and CreativityMongoDB
This document discusses optimizing slow queries in MongoDB through the use of indexes and schema design. It begins with examples of common performance issues like inefficient reads from table scans and writes causing locks. Each example shows the slow query, explains the problem, and proposes a solution like adding an index. It emphasizes that new indexes only scale up to a point and sometimes the best approach is to redesign the schema or add hardware. The talk provides guidance on measuring performance, finding slow queries, determining if they can be indexed, and rephrasing problems in terms of desired queries.
Webinaire 2 de la série « Retour aux fondamentaux » : Votre première applicat...MongoDB
This document contains the slides from a webinar on building a basic MongoDB application. It introduces MongoDB concepts and terminology, shows how to install MongoDB, create a basic blogging application with articles, users and comments, and add and query data. Key steps include installing MongoDB, launching the mongod process, connecting with the mongo shell, inserting documents, finding and querying documents, and updating documents by adding fields and pushing to arrays.
Map/Confused? A practical approach to Map/Reduce with MongoDBUwe Printz
Talk given at MongoDb Munich on 16.10.2012 about the different approaches in MongoDB for using the Map/Reduce algorithm. The talk compares the performance of built-in MongoDB Map/Reduce, group(), aggregate(), find() and the MongoDB-Hadoop Adapter using a practical use case.
MongoDB + Java - Everything you need to know Norberto Leite
Learn everything you need to know to get started building a MongoDB-based app in Java. We'll explore the relationship between MongoDB and various languages on the Java Virtual Machine such as Java, Scala, and Clojure. From there, we'll examine the popular frameworks and integration points between MongoDB and the JVM including Spring Data and object-document mappers like Morphia.
Mythbusting: Understanding How We Measure the Performance of MongoDBMongoDB
Benchmarking, benchmarking, benchmarking. We all do it, mostly it tells us what we want to hear but often hides a mountain of misinformation. In this talk we will walk through the pitfalls that you might find yourself in by looking at some examples where things go wrong. We will then walk through how MongoDB performance is measured, the processes and methodology and ways to present and look at the information.
Back to Basics Webinar 3: Schema Design Thinking in DocumentsMongoDB
This is the third webinar of a Back to Basics series that will introduce you to the MongoDB database. This webinar will explain the architecture of document databases.
This document discusses various indexing strategies in MongoDB to help scale applications. It covers the basics of indexes, including creating and tuning indexes. It also discusses different index types like geospatial indexes, text indexes, and how to use explain plans and profiling to evaluate queries. The document concludes with a section on scaling strategies like sharding to scale beyond a single server's resources.
Webinar: Back to Basics: Thinking in DocumentsMongoDB
New applications, users and inputs demand new types of data, like unstructured, semi-structured and polymorphic data. Adopting MongoDB means adopting to a new, document-based data model.
While most developers have internalized the rules of thumb for designing schemas for relational databases, these rules don't apply to MongoDB. Documents can represent rich data structures, providing lots of viable alternatives to the standard, normalized, relational model. In addition, MongoDB has several unique features, such as atomic updates and indexed array keys, that greatly influence the kinds of schemas that make sense.
In this session, Buzz Moschetti explores how you can take advantage of MongoDB's document model to build modern applications.
The document summarizes a presentation about scaling Pinterest's architecture. It discusses how Pinterest uses sharding across multiple MySQL databases to scale its infrastructure. Key points include how Pinterest generates IDs across shards, loads data, handles caching, and has transitioned its database structure over time to support increased load.
Building a Scalable Inbox System with MongoDB and Javaantoinegirbal
Many user-facing applications present some kind of news feed/inbox system. You can think of Facebook, Twitter, or Gmail as different types of inboxes where the user can see data of interest, sorted by time, popularity, or other parameter. A scalable inbox is a difficult problem to solve: for millions of users, varied data from many sources must be sorted and presented within milliseconds. Different strategies can be used: scatter-gather, fan-out writes, and so on. This session presents an actual application developed by 10gen in Java, using MongoDB. This application is open source and is intended to show the reference implementation of several strategies to tackle this common challenge. The presentation also introduces many MongoDB concepts.
MongoDB .local Chicago 2019: Using Client Side Encryption in MongoDB 4.2MongoDB
The document describes how client-side encryption works in MongoDB. It introduces encrypting fields before inserting documents into MongoDB using a JSON schema and encryption options. The encrypted data is only decrypted by the driver after being read from the database. This prevents sensitive fields from being stored or transmitted in an unencrypted form. The document also discusses key management, different encryption algorithms, limitations of the approach, and some usage examples for a social media application.
Relational databases are central to web applications, but they have also been the primary source of pain when it comes to scale and performance. Recently, non-relational databases (also referred to as NoSQL) have arrived on the scene. This session explains not only what MongoDB is and how it works, but when and how to gain the most benefit.
This document discusses MongoDB performance tuning. It emphasizes that performance tuning is an obsession that requires planning schema design, statement tuning, and instance tuning in that order. It provides examples of using the MongoDB profiler and explain functions to analyze statements and identify tuning opportunities like non-covered indexes, unnecessary document scans, and low data locality. Instance tuning focuses on optimizing writes through fast update operations and secondary index usage, and optimizing reads by ensuring statements are tuned and data is sharded appropriately. Overall performance depends on properly tuning both reads and writes.
MongoDB Schema Design: Four Real-World ExamplesMike Friedman
This document discusses different schema designs for common use cases in MongoDB. It presents four cases: (1) modeling a message inbox, (2) retaining historical data within limits, (3) storing variable attributes efficiently, and (4) looking up users by multiple identities. For each case, it analyzes different modeling approaches, considering factors like query performance, write performance, and whether indexes can be used. The goal is to help designers choose an optimal schema based on their application's access patterns and scale requirements.
The document discusses schema design in MongoDB. It explains that MongoDB uses documents rather than tables and rows. Documents can be normalized, with links between separate documents, or denormalized by embedding related data. Embedding is recommended for fast queries but normalized schemas also work well. The document also covers indexing strategies, profiling database performance, and provides examples of schema designs for events, seating, and a feed reader application.
MongoDB’s basic unit of storage is a document. Documents can represent rich, schema-free data structures, meaning that we have several viable alternatives to the normalized, relational model. In this talk, we’ll discuss the tradeoff of various data modeling strategies in MongoDB.
This document discusses how Eventbrite built a social network using MongoDB to provide event recommendations. It stores user, event, and order data in MongoDB collections with indexes. It generates recommendations by querying neighbors' attended events and scoring events based on neighbor attendance. It also discusses challenges around dynamic neighbor relationships and performance needs that led it to choose MongoDB.
Dev Jumpstart: Schema Design Best PracticesMongoDB
New to MongoDB? We’ll discuss the tradeoff of various data modeling strategies in MongoDB. This talk will jumpstart your knowledge of how to work with documents, evolve your schema, and common schema design patterns. MongoDB’s basic unit of storage is a document. No prior knowledge of MongoDB is assumed.
Indexing in MongoDB works similarly to indexing in relational databases. An index is a data structure that can make certain queries more efficient by maintaining a sorted order of documents. Indexes are created using the ensureIndex() method and take up additional space and slow down writes. The explain() method is used to determine whether a query is using an index.
The document discusses schema design basics for MongoDB, including terms, considerations for schema design, and examples of modeling different types of data structures like trees, single table inheritance, and many-to-many relationships. It provides examples of creating indexes, evolving schemas, and performing queries and updates. Key topics covered include embedding data versus normalization, indexing, and techniques for modeling one-to-many and many-to-many relationships.
In a real life almost any project deals with the
tree structures. Different kinds of taxonomies,
site structures etc require modeling of
hierarchy relations.
Typical approaches used
● Model Tree Structures with Child References
● Model Tree Structures with Parent References
● Model Tree Structures with an Array of Ancestors
● Model Tree Structures with Materialized Paths
● Model Tree Structures with Nested Sets
MongoDB .local Munich 2019: Best Practices for Working with IoT and Time-seri...MongoDB
Time series data is increasingly at the heart of modern applications - think IoT, stock trading, clickstreams, social media, and more. With the move from batch to real time systems, the efficient capture and analysis of time series data can enable organizations to better detect and respond to events ahead of their competitors or to improve operational efficiency to reduce cost and risk. Working with time series data is often different from regular application data, and there are best practices you should observe.
This talk covers:
• Common components of an IoT solution
• The challenges involved with managing time-series data in IoT applications
• Different schema designs, and how these affect memory and disk utilization – two critical factors in application performance.
• How to query, analyze and present IoT time-series data using MongoDB Compass and MongoDB Charts
At the end of the session, you will have a better understanding of key best practices in managing IoT time-series data with MongoDB.
Choosing a shard key can be difficult, and the factors involved largely depend on your use case. In fact, there is no such thing as a perfect shard key; there are design tradeoffs inherent in every decision. This presentation goes through those tradeoffs, as well as the different types of shard keys available in MongoDB, such as hashed and compound shard keys
MongoDB .local Houston 2019: Using Client Side Encryption in MongoDB 4.2MongoDB
Encryption is not a new concept to MongoDB. Encryption may occur in-transit (with TLS) and at-rest (with the encrypted storage engine). But MongoDB 4.2 introduces support for Client Side Encryption, ensuring the most sensitive data is encrypted before ever leaving the client application. Even full access to your MongoDB servers is not enough to decrypt this data. And better yet, Client Side Encryption can be enabled at the "flick of a switch".
This session covers using Client Side Encryption in your applications. This includes the necessary setup, how to encrypt data without sacrificing queryability, and what trade-offs to expect.
1) MongoDB databases can grow very large due to flexible document schemas that allow large and denormalized data. This leads to increased storage requirements.
2) MongoDB replication can introduce lag on secondary nodes as they process write operations. This limits the ability to use secondary nodes for scaling reads.
3) MongoDB performance declines dramatically when indexes do not fit in memory, requiring more RAM, sharding, or reduced write performance.
4) MongoDB implements database-level locking, limiting write concurrency and the ability to run multiple shards on a single server.
5) MongoDB does not support ACID transactions, multi-version concurrency control, or consistent reads in the presence of concurrent writes. Workarounds
The document discusses Massimiliano Dessì's background and experience as a software architect, developer, and founder/chairman of various user groups. It then provides an overview of MongoDB including its main features such as being document-oriented, easy scalability, high performance, high availability, and rich query language. Examples of MongoDB production deployments are also listed. The rest of the document dives deeper into specific MongoDB concepts, data structures, operations, and query capabilities.
How to install the zwave plugin switch controllerLeolaHuffman
The document provides instructions for installing and using the Z-Wave plug-in switch controller and Z-Wave system for home automation. It explains that the Z-Wave system allows users to control electrical devices remotely. It then provides step-by-step instructions for purchasing and installing Z-Wave modules for lights and appliances, adding devices to the Z-Wave network, and operating devices using remote controls.
EarthWise chilled water systems consume less energy, capital, and water through three main strategies: (1) using colder chilled water which reduces energy usage in chillers and chilled water pumps, (2) maintaining warmer cooling tower water which saves energy in condenser water pumps and cooling tower fans, and (3) implementing thermodynamic staging with series chillers which lowers compressor energy usage. These techniques were shown to save over 2.9 million gallons of water annually in a 10,000 ton chilled water system in Dubai.
This document discusses various indexing strategies in MongoDB to help scale applications. It covers the basics of indexes, including creating and tuning indexes. It also discusses different index types like geospatial indexes, text indexes, and how to use explain plans and profiling to evaluate queries. The document concludes with a section on scaling strategies like sharding to scale beyond a single server's resources.
Webinar: Back to Basics: Thinking in DocumentsMongoDB
New applications, users and inputs demand new types of data, like unstructured, semi-structured and polymorphic data. Adopting MongoDB means adopting to a new, document-based data model.
While most developers have internalized the rules of thumb for designing schemas for relational databases, these rules don't apply to MongoDB. Documents can represent rich data structures, providing lots of viable alternatives to the standard, normalized, relational model. In addition, MongoDB has several unique features, such as atomic updates and indexed array keys, that greatly influence the kinds of schemas that make sense.
In this session, Buzz Moschetti explores how you can take advantage of MongoDB's document model to build modern applications.
The document summarizes a presentation about scaling Pinterest's architecture. It discusses how Pinterest uses sharding across multiple MySQL databases to scale its infrastructure. Key points include how Pinterest generates IDs across shards, loads data, handles caching, and has transitioned its database structure over time to support increased load.
Building a Scalable Inbox System with MongoDB and Javaantoinegirbal
Many user-facing applications present some kind of news feed/inbox system. You can think of Facebook, Twitter, or Gmail as different types of inboxes where the user can see data of interest, sorted by time, popularity, or other parameter. A scalable inbox is a difficult problem to solve: for millions of users, varied data from many sources must be sorted and presented within milliseconds. Different strategies can be used: scatter-gather, fan-out writes, and so on. This session presents an actual application developed by 10gen in Java, using MongoDB. This application is open source and is intended to show the reference implementation of several strategies to tackle this common challenge. The presentation also introduces many MongoDB concepts.
MongoDB .local Chicago 2019: Using Client Side Encryption in MongoDB 4.2MongoDB
The document describes how client-side encryption works in MongoDB. It introduces encrypting fields before inserting documents into MongoDB using a JSON schema and encryption options. The encrypted data is only decrypted by the driver after being read from the database. This prevents sensitive fields from being stored or transmitted in an unencrypted form. The document also discusses key management, different encryption algorithms, limitations of the approach, and some usage examples for a social media application.
Relational databases are central to web applications, but they have also been the primary source of pain when it comes to scale and performance. Recently, non-relational databases (also referred to as NoSQL) have arrived on the scene. This session explains not only what MongoDB is and how it works, but when and how to gain the most benefit.
This document discusses MongoDB performance tuning. It emphasizes that performance tuning is an obsession that requires planning schema design, statement tuning, and instance tuning in that order. It provides examples of using the MongoDB profiler and explain functions to analyze statements and identify tuning opportunities like non-covered indexes, unnecessary document scans, and low data locality. Instance tuning focuses on optimizing writes through fast update operations and secondary index usage, and optimizing reads by ensuring statements are tuned and data is sharded appropriately. Overall performance depends on properly tuning both reads and writes.
MongoDB Schema Design: Four Real-World ExamplesMike Friedman
This document discusses different schema designs for common use cases in MongoDB. It presents four cases: (1) modeling a message inbox, (2) retaining historical data within limits, (3) storing variable attributes efficiently, and (4) looking up users by multiple identities. For each case, it analyzes different modeling approaches, considering factors like query performance, write performance, and whether indexes can be used. The goal is to help designers choose an optimal schema based on their application's access patterns and scale requirements.
The document discusses schema design in MongoDB. It explains that MongoDB uses documents rather than tables and rows. Documents can be normalized, with links between separate documents, or denormalized by embedding related data. Embedding is recommended for fast queries but normalized schemas also work well. The document also covers indexing strategies, profiling database performance, and provides examples of schema designs for events, seating, and a feed reader application.
MongoDB’s basic unit of storage is a document. Documents can represent rich, schema-free data structures, meaning that we have several viable alternatives to the normalized, relational model. In this talk, we’ll discuss the tradeoff of various data modeling strategies in MongoDB.
This document discusses how Eventbrite built a social network using MongoDB to provide event recommendations. It stores user, event, and order data in MongoDB collections with indexes. It generates recommendations by querying neighbors' attended events and scoring events based on neighbor attendance. It also discusses challenges around dynamic neighbor relationships and performance needs that led it to choose MongoDB.
Dev Jumpstart: Schema Design Best PracticesMongoDB
New to MongoDB? We’ll discuss the tradeoff of various data modeling strategies in MongoDB. This talk will jumpstart your knowledge of how to work with documents, evolve your schema, and common schema design patterns. MongoDB’s basic unit of storage is a document. No prior knowledge of MongoDB is assumed.
Indexing in MongoDB works similarly to indexing in relational databases. An index is a data structure that can make certain queries more efficient by maintaining a sorted order of documents. Indexes are created using the ensureIndex() method and take up additional space and slow down writes. The explain() method is used to determine whether a query is using an index.
The document discusses schema design basics for MongoDB, including terms, considerations for schema design, and examples of modeling different types of data structures like trees, single table inheritance, and many-to-many relationships. It provides examples of creating indexes, evolving schemas, and performing queries and updates. Key topics covered include embedding data versus normalization, indexing, and techniques for modeling one-to-many and many-to-many relationships.
In a real life almost any project deals with the
tree structures. Different kinds of taxonomies,
site structures etc require modeling of
hierarchy relations.
Typical approaches used
● Model Tree Structures with Child References
● Model Tree Structures with Parent References
● Model Tree Structures with an Array of Ancestors
● Model Tree Structures with Materialized Paths
● Model Tree Structures with Nested Sets
MongoDB .local Munich 2019: Best Practices for Working with IoT and Time-seri...MongoDB
Time series data is increasingly at the heart of modern applications - think IoT, stock trading, clickstreams, social media, and more. With the move from batch to real time systems, the efficient capture and analysis of time series data can enable organizations to better detect and respond to events ahead of their competitors or to improve operational efficiency to reduce cost and risk. Working with time series data is often different from regular application data, and there are best practices you should observe.
This talk covers:
• Common components of an IoT solution
• The challenges involved with managing time-series data in IoT applications
• Different schema designs, and how these affect memory and disk utilization – two critical factors in application performance.
• How to query, analyze and present IoT time-series data using MongoDB Compass and MongoDB Charts
At the end of the session, you will have a better understanding of key best practices in managing IoT time-series data with MongoDB.
Choosing a shard key can be difficult, and the factors involved largely depend on your use case. In fact, there is no such thing as a perfect shard key; there are design tradeoffs inherent in every decision. This presentation goes through those tradeoffs, as well as the different types of shard keys available in MongoDB, such as hashed and compound shard keys
MongoDB .local Houston 2019: Using Client Side Encryption in MongoDB 4.2MongoDB
Encryption is not a new concept to MongoDB. Encryption may occur in-transit (with TLS) and at-rest (with the encrypted storage engine). But MongoDB 4.2 introduces support for Client Side Encryption, ensuring the most sensitive data is encrypted before ever leaving the client application. Even full access to your MongoDB servers is not enough to decrypt this data. And better yet, Client Side Encryption can be enabled at the "flick of a switch".
This session covers using Client Side Encryption in your applications. This includes the necessary setup, how to encrypt data without sacrificing queryability, and what trade-offs to expect.
1) MongoDB databases can grow very large due to flexible document schemas that allow large and denormalized data. This leads to increased storage requirements.
2) MongoDB replication can introduce lag on secondary nodes as they process write operations. This limits the ability to use secondary nodes for scaling reads.
3) MongoDB performance declines dramatically when indexes do not fit in memory, requiring more RAM, sharding, or reduced write performance.
4) MongoDB implements database-level locking, limiting write concurrency and the ability to run multiple shards on a single server.
5) MongoDB does not support ACID transactions, multi-version concurrency control, or consistent reads in the presence of concurrent writes. Workarounds
The document discusses Massimiliano Dessì's background and experience as a software architect, developer, and founder/chairman of various user groups. It then provides an overview of MongoDB including its main features such as being document-oriented, easy scalability, high performance, high availability, and rich query language. Examples of MongoDB production deployments are also listed. The rest of the document dives deeper into specific MongoDB concepts, data structures, operations, and query capabilities.
How to install the zwave plugin switch controllerLeolaHuffman
The document provides instructions for installing and using the Z-Wave plug-in switch controller and Z-Wave system for home automation. It explains that the Z-Wave system allows users to control electrical devices remotely. It then provides step-by-step instructions for purchasing and installing Z-Wave modules for lights and appliances, adding devices to the Z-Wave network, and operating devices using remote controls.
EarthWise chilled water systems consume less energy, capital, and water through three main strategies: (1) using colder chilled water which reduces energy usage in chillers and chilled water pumps, (2) maintaining warmer cooling tower water which saves energy in condenser water pumps and cooling tower fans, and (3) implementing thermodynamic staging with series chillers which lowers compressor energy usage. These techniques were shown to save over 2.9 million gallons of water annually in a 10,000 ton chilled water system in Dubai.
How to Infuse Your Media Planning with Social Data - by Forrester & Networked...Networked Insights
Consumers are talking about brands more than ever before online. Social Media captures these conversations in various forms and if tapped right can uncover a vast array of information that can impact your media investments. Applying this knowledge to optimize your ad spend can generate efficiencies of more than 10 percent! Join Adweek and Networked Insights for a free webinar and dig deeper into Social Media data and get past GRPs & TRPs to uncover what consumers are talking about and where - just in time for the upfronts.
O documento descreve a arte de esculpir cascas de ovos, com exemplos de artistas russos, americanos e indianos que criam desenhos delicados e complexos nas cascas através de pequenos furos. Alguns esculpem apenas com brocas, enquanto outros pintam em cascas maiores ou fazem lamparinas e luminárias artísticas utilizando cascas de diferentes tipos de ovos. A criação nesta arte é vista como infinita e capaz de valorizar a beleza através de ângulos e cores diferentes.
O documento discute as fraudes no mundo pós-SPED e a segurança da informação. Apresenta o conceito de fraude e como ela ocorre devido à existência de golpistas e vítimas, destacando o papel do desrespeito às leis. Também define os conceitos de ameaça, vulnerabilidade, incidente e impacto relacionados à segurança da informação.
El documento lista los nombres de los estudiantes de 5o A asignados a diferentes proyectos sobre fenómenos meteorológicos. Los proyectos incluyen "Truenos", "Tormentas", "Huracanes", "Arco Iris" y "Anticiclones". Cada proyecto está formado por 3 o 4 estudiantes.
O documento fornece informações sobre a história e o desenvolvimento da pesquisa na Internet. Resume o seguinte:
1) A pesquisa na Internet começou com diretórios manuais e motores de busca baseados em "robôs" ou "aranhas" que indexavam automaticamente conteúdo na web;
2) Os principais motores de busca atuais como o Google usam algoritmos sofisticados para fornecer resultados de pesquisa rápidos e relevantes com base em fatores como o conteúdo da página, links de
The document provides an outline for teaching information literacy skills to students in the Tennessee State University Institute of Government. It covers how to define a research topic, gather background information from various sources, search databases and the online catalog for relevant materials, evaluate internet resources, and write a research paper while properly citing sources. The goal is to ensure students are literate in determining what information they need, accessing and critically evaluating information from different sources, and using it effectively for specific purposes while understanding legal and ethical issues related to information use.
Adobe Digital Publishing Suite by dualpixeldualpixel
Este documento fornece uma visão geral da produção de conteúdo para iPad usando a Adobe Digital Publishing Suite. Ele explica como criar documentos no InDesign para publicação no iPad, com detalhes sobre boas práticas, orientação, fluxo de trabalho e organização de arquivos. Além disso, discute a criação de documentos em HTML para publicação no iPad.
O documento descreve como funcionam as aplicações web. 1) Os clientes como computadores, tablets e telefones acessam conteúdo de um servidor web através da internet. 2) Os clientes utilizam navegadores web como Chrome e Dreamweaver para acessar os conteúdos. 3) Para criar conteúdo web em HTML e CSS não é necessário entender todo o funcionamento da internet, mas algumas noções básicas são úteis.
This document discusses globalization and outsourcing, particularly regarding the outsourcing of technology jobs from developed to developing countries over the past decade. It provides background on globalization and defines outsourcing. The document then examines trends in outsourcing technology jobs from Nordic countries, especially Denmark, supported by statistical data from the past 10 years. It aims to understand perspectives on the benefits and criticisms of globalization and outsourcing.
Comparative analysis on E-Gov web sitesAndrea Tino
This document presents an analysis of the usability of the websites for the US Department of Defense (defense.gov) and the Italian Ministry of Defense (difesa.it). It establishes criteria for evaluating the sites based on six dimensions: architecture, communication, functionality, content, management, and accessibility. Elements within each dimension will be assigned weights and scores to determine an overall score. The analysis will focus on examining how each site implements the various elements. Diagrams of the sites' structures are presented, noting differences in their hierarchical organization of pages. Both sites receive a score of "very good" for their architecture based on balancing ease of navigation with logical organization of content.
The document provides an agenda for a Java EE 6 Hands-on Workshop being conducted by Arun Gupta. It outlines the history and evolution of Java EE from version 1.2 to 6, highlights new specifications in Java EE 6 including Contexts and Dependency Injection and Bean Validation, and discusses goals and features of Java EE 6 like making it more lightweight and easier to develop on.
This document outlines an agenda for a two-day training on web application hacking. Day one covers topics like internet crime and motivation for web security, the OWASP top 10 list of vulnerabilities, HTTP and HTML, and Google hacking. Day two covers fingerprinting web servers, basic and advanced web application hacking techniques, and automated tool sets. The document provides background on why web application security is important given the prevalence of attacks on the application layer and examples of recent hacks. It establishes that web applications need to be secured as they now control valuable data and have become attractive targets for criminals.
The document discusses the issues of unemployment and poverty. It states that unemployment leads to many problems in both rural and urban areas around the world, as both children and adults face consequences like theft, violence, risky jobs, difficult lives, and lack of opportunities. When the economy is unable to provide jobs, it can result in poverty, low quality of life, and social issues like violence. The document advocates for support of education and decent work opportunities to address unemployment and its effects on individuals and society.
This document provides an overview of JavaServer Faces (JSF) and JavaServer Pages (JSP). It discusses the key differences between the two technologies, including that JSF is newer and handles non-functional requirements like navigation and validation, while JSP is older and leaves these to be coded manually. The document also covers the architecture and phases of JSF, common tags used in JSF and JSP, and provides an example JSF application to demonstrate basic usage.
This document is a master's thesis submitted by Sascha Nawrot to Berlin University of Applied Sciences in partial fulfillment of the requirements for a Master of Science degree in Applied Computer Science. The thesis introduces novel, lightweight open source annotation tools for whole slide images that enable deep learning experts and pathology experts to cooperate in creating training samples by annotating regions of interest in whole slide images, regardless of platform or format, in a fast and easy manner. The tools consist of a conversion service to convert whole slide images to an open format, an annotation service for annotating regions of interest, and a tessellation service to extract the annotated regions from the images.
Christian Kvalheim gave an introduction to NoSQL and MongoDB. Some key points:
1) MongoDB is a scalable, high-performance, open source NoSQL database that uses a document-oriented model.
2) It supports indexing, replication, auto-sharding for horizontal scaling, and querying.
3) Documents are stored in JSON-like records which can contain various data types including nested objects and arrays.
This document summarizes MongoDB roadmaps and recent releases. It discusses features added in releases 2.2 and upcoming in 2.4, including concurrency improvements, the new aggregation framework, TTL collections, tag aware sharding, and read preferences. The document encourages participation in the MongoDB community through using the product, submitting feature requests, and joining local user groups.
This document provides an introduction to MongoDB, including:
1) MongoDB is a schemaless database that supports features like replication, sharding, indexing, file storage, and aggregation.
2) The main concepts include databases containing collections of documents like tables containing rows in SQL databases, but documents can have different structures.
3) Examples demonstrate inserting, querying, updating, and embedding documents in MongoDB collections.
De normalised london aggregation framework overview Chris Harris
This document provides an overview of MongoDB's new aggregation framework. It begins with terminology that maps concepts from relational databases to MongoDB. Examples are given that show how to aggregate data from a collection of tweets to count friends and followers by location. The pipeline concept is introduced along with common aggregation operations like match, project, group, sort, and expressions. Finally, information is provided on downloading MongoDB and contacting the author.
MongoDB for Coder Training (Coding Serbia 2013)Uwe Printz
Slides of my MongoDB Training given at Coding Serbia Conference on 18.10.2013
Agenda:
1. Introduction to NoSQL & MongoDB
2. Data manipulation: Learn how to CRUD with MongoDB
3. Indexing: Speed up your queries with MongoDB
4. MapReduce: Data aggregation with MongoDB
5. Aggregation Framework: Data aggregation done the MongoDB way
6. Replication: High Availability with MongoDB
7. Sharding: Scaling with MongoDB
This document summarizes an agenda for a schema design workshop. The workshop covers basic schema and patterns, schema design, sharding, and replication in MongoDB. It includes examples of schema design for relational databases and MongoDB, including embedding, linking, inheritance patterns, one-to-many relationships, and many-to-many relationships. The goals are to learn data modeling with MongoDB through labs and understand implications of replication and sharding.
Media owners are turning to MongoDB to drive social interaction with their published content. The way customers consume information has changed and passive communication is no longer enough. They want to comment, share and engage with publishers and their community through a range of media types and via multiple channels whenever and wherever they are. There are serious challenges with taking this semi-structured and unstructured data and making it work in a traditional relational database. This webinar looks at how MongoDB’s schemaless design and document orientation gives organisation’s like the Guardian the flexibility to aggregate social content and scale out.
Use Your MySQL Knowledge to Become a MongoDB GuruTim Callaghan
Leverage all of your MySQL knowledge and experience to get up to speed quickly with MongoDB.
Presented at Percona Live London 2013 with Robert Hodges of Continuent.
Webinar: General Technical Overview of MongoDB for Dev TeamsMongoDB
In this talk we will focus on several of the reasons why developers have come to love the richness, flexibility, and ease of use that MongoDB provides. First we will give a brief introduction of MongoDB, comparing and contrasting it to the traditional relational database. Next, we’ll give an overview of the APIs and tools that are part of the MongoDB ecosystem. Then we’ll look at how MongoDB CRUD (Create, Read, Update, Delete) operations work, and also explore query, update, and projection operators. Finally, we will discuss MongoDB indexes and look at some examples of how indexes are used.
The document discusses MongoDB, a non-relational database that uses documents with a flexible schema rather than tables, and is well-suited for applications that need to store data in complex, nested structures. It provides an overview of key MongoDB concepts like collections, queries, indexing, updating documents, and aggregation capabilities. Examples are given of how MongoDB can be used for applications involving user profiles, blogs, and logging.
Introduction to Mongo DB-open-‐source, high-‐performance, document-‐orient...boychatmate1
This document summarizes MongoDB, an open-source document-oriented database. MongoDB is a non-relational database that uses flexible, JSON-like documents with optional schemas. It provides high performance, high availability, and automatic scaling. MongoDB is well suited for applications that need to store large amounts of dynamic data, like user data and session data for websites and mobile applications.
The document discusses new features and improvements in Grails 2.0, including enhanced plugin support, NoSQL integration, improved unit testing, static resource handling, GORM updates, and SQL database migration tools. It provides an overview of several new capabilities and summarizes key areas that received attention in the latest Grails release.
This document summarizes MongoDB, an open-source document database. It discusses MongoDB's key features like schema-less document storage, rich queries, auto-sharding and replication. It provides examples of CRUD operations using the mongo shell and comparisons to SQL. The document also outlines some use cases, driver support, limitations and resources for learning more.
MongoDB is a document-oriented NoSQL database that uses a document-data model. It provides horizontal scaling with auto-sharding and replication. MongoDB can store documents in collections without a defined schema and support dynamic queries and indexing. RealNetworks uses MongoDB with Scala and other technologies for an Android app to send notifications to devices with installed RealNetworks applications at scale.
10gen Presents Schema Design and Data ModelingDATAVERSITY
This document provides an overview of schema design in MongoDB. It discusses topics such as:
- The goals of schema design, which include avoiding anomalies, minimizing redesign, avoiding query bias, and making use of features.
- Key terminology when comparing MongoDB to relational databases, such as using collections instead of tables and embedding/linking instead of joins.
- Examples of basic collections, documents, indexing, and query operators.
- Common schema patterns for MongoDB like embedding, normalization, inheritance, one-to-many, many-to-many, and trees.
- Use cases like time series are also briefly covered.
Webscale PostgreSQL - JSONB and Horizontal Scaling StrategiesJonathan Katz
All data is relational and can be represented through relational algebra, right? Perhaps, but there are other ways to represent data, and the PostgreSQL team continues to work on making it easier and more efficient to do so!
With the upcoming 9.4 release, PostgreSQL is introducing the "JSONB" data type which allows for fast, compressed, storage of JSON formatted data, and for quick retrieval. And JSONB comes with all the benefits of PostgreSQL, like its data durability, MVCC, and of course, access to all the other data types and features in PostgreSQL.
How fast is JSONB? How do we access data stored with this type? What can it do with the rest of PostgreSQL? What can't it do? How can we leverage this new data type and make PostgreSQL scale horizontally? Follow along with our presentation as we try to answer these questions.
Narayan Newton presented on recent developments in MySQL. He discussed how MySQL has fragmented into several variants including MariaDB, PerconaDB, and Drizzle. He provided details on improvements in Oracle MySQL 5.5 and 5.6, Percona Server, and MariaDB including new features like virtual and dynamic columns. Newton also covered optimization improvements and clustering options like Percona Cluster, MySQL Cluster, and Drizzle.
MongoDB provides a concise summary of sharding in MongoDB:
1) Collections can be sharded (partitioned) across multiple servers, with each document assigned to a single shard based on the shard key.
2) Shards are divided into chunks based on the shard key range. Chunk metadata is stored in config servers and cached by mongos processes.
3) A balancer process monitors chunk distribution and migrates chunks between shards to improve balance as data and chunks sizes change over time. This helps distribute load evenly across shards.
MongoDB is an open source NoSQL database that uses JSON-like documents with dynamic schemas (BSON format) instead of using tables as in SQL. It allows for embedding related data and flexible querying of this embedded data. Some key features include using JavaScript-style documents, scaling horizontally on commodity hardware, and supporting various languages through its driver interface.
This document provides an overview and introduction to MongoDB. It discusses what MongoDB is, how it compares to SQL databases, basic CRUD operations, and getting started steps like downloading, installing, and starting MongoDB. It also covers MongoDB concepts like documents, collections, queries and indexes. The document aims to help attendees understand MongoDB and includes several examples and promises a live demo.
Similar to MongoDB @ Frankfurt NoSql User Group (20)
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
The Department of Veteran Affairs (VA) invited Taylor Paschal, Knowledge & Information Management Consultant at Enterprise Knowledge, to speak at a Knowledge Management Lunch and Learn hosted on June 12, 2024. All Office of Administration staff were invited to attend and received professional development credit for participating in the voluntary event.
The objectives of the Lunch and Learn presentation were to:
- Review what KM ‘is’ and ‘isn’t’
- Understand the value of KM and the benefits of engaging
- Define and reflect on your “what’s in it for me?”
- Share actionable ways you can participate in Knowledge - - Capture & Transfer
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
11. Cursors
$gt, $lt, $gte, $lte, $ne, $all, $in, $nin, $or,
$not, $mod, $size, $exists, $type, $elemMatch
> var c = db.test.find({x: 20}).skip(20).limit(10)> c.next()
> c.next()
...
query
first N results + cursor id
getMore w/ cursor id
next N results + cursor id or 0
...
Wednesday, 22 February 12
12. Creating Indexes
An index on _id is automatic.
For more use ensureIndex:
db.blogs.ensureIndex({author: 1})
1 = ascending
-1 = descending
Wednesday, 22 February 12
13. Compound Indexes
db.blogs.save({
author: "James",
ts: new Date()
...
});
db.blogs.ensureIndex({author: 1, ts: -1})
Wednesday, 22 February 12
14. Unique Indexes
db.blogs.save({
author: "James",
title: "My first blog"
...
});
db.blogs.ensureIndex({title: 1}, {unique: true})
Wednesday, 22 February 12
15. Indexing Embedded Documents
db.blogs.save({
title: "My First blog",
stats : { views: 0,
followers: 0 }
});
db.blogs.ensureIndex({"stats.followers": -1})
db.blogs.find({"stats.followers": {$gt: 500}})
Wednesday, 22 February 12
16. Indexing Embedded Arrays
db.blogs.save({
title: "My First blog",
comments: [
{author: "James", ts : new Date()} ]
});
db.blogs.ensureIndex({"comments.author": 1})
db.blogs.find({"comments.author": "James"})
Wednesday, 22 February 12
17. Multikeys
db.blogs.save({
title: "My Second blog",
tags: ["mongodb", "NoSQL"]
});
db.blogs.ensureIndex({tags: 1})
db.blogs.find({tags: "NoSQL"})
Wednesday, 22 February 12
18. Covered Indexes
• From 1.8.0
• Query resolved in index only
• Need to exclude _id from items projected
db.blogs.save({
author: "James",
title: "My first blog"
});
db.blogs.ensureIndex({author: 1})
db.blogs.find({author: "James"},
{author: 1, _id:0}))
Wednesday, 22 February 12
19. Sparse Indexes
• From 1.8.0
• Key value included if and only if the value is present
• Reduces size of index
• Limited to a single field
db.blogs.ensureIndex({loc: 1}, {sparse: true})
// loc key stored for Ben & Sarah only
db.blogs.save({author: "Jim"})
db.blogs.save({author: "Ben", loc: null})
db.blogs.save({author: "Sarah", loc: "CA"})
Wednesday, 22 February 12
20. Geospatial
• Geo hash stored in B-Tree
• First two values indexed
db.blogs.save({
loc: { long: 40.739037, lat: 40.739037 }
});
db.blogs.save({
loc: [40.739037, 40.739037]
});
db.blogs.ensureIndex({"loc": "2d"})
Wednesday, 22 February 12
22. Types of outage
• Planned
• Hardware upgrade
• O/S or file-system tuning
• Relocation of data to new file-system / storage
• Software upgrade
• Unplanned
• Hardware failure
• Data center failure
• Region outage
• Human error
• Application corruption
Wednesday, 22 February 12
23. Replica Set features
• A cluster of N servers
• Any (one) node can be primary
• Consensus election of primary
• Automatic failover
• Automatic recovery
• All writes to primary
• Reads can be to primary (default) or a secondary
Wednesday, 22 February 12
24. How MongoDB Replication works
Member
1 Member
3
Member
2
•Set is made up of 2 or more nodes
Wednesday, 22 February 12
25. How MongoDB Replication works
Member
1 Member
3
Member
2
PRIMARY
•Election establishes the PRIMARY
•Data replication from PRIMARY to SECONDARY
Wednesday, 22 February 12
26. How MongoDB Replication works
negotiate
new master
Member
1 Member
3
Member
2
DOWN
•PRIMARY may fail
•Automatic election of new PRIMARY if majority
exists
Wednesday, 22 February 12
27. How MongoDB Replication works
Member
1 Member
3
PRIMARY
Member
2
DOWN
•New PRIMARY elected
•Replication Set re-established
Wednesday, 22 February 12
28. How MongoDB Replication works
Member
1 Member
3
PRIMARY
Member 2
RECOVERING
•Automatic recovery
Wednesday, 22 February 12
29. How MongoDB Replication works
Member
1 Member
3
PRIMARY
Member
2
•Replication Set re-established
Wednesday, 22 February 12
36. MongoDB Sharding
• Automatic partitioning and management
• Range based
• Convert to sharded system with no downtime
• Fully consistent
Wednesday, 22 February 12
37. How MongoDB Sharding works
> db.posts.save( {age:40} )
-∞ +∞
-∞ 40 41 +∞
•Data in inserted
•Ranges are split into more “chunks”
Wednesday, 22 February 12
38. How MongoDB Sharding works
> db.posts.save( {age:40} )
> db.posts.save( {age:50} )
-∞ +∞
-∞ 40 41 +∞
41 50 51 +∞
•More Data in inserted
•Ranges are split into more“chunks”
Wednesday, 22 February 12