This document provides an overview of MongoDB and examples of CRUD operations. It discusses setting up a MongoDB directory and starting the server and shell. It then demonstrates creating, reading, updating, and deleting documents. Examples show inserting single documents and bulk inserting 1000 documents with random scores. Queries are demonstrated using find() with filters. Updates are shown using update() with $set and $push operators. Hands-on exercises are provided to practice CRUD operations on sample datasets.
2012-03-20 - Getting started with Node.js and MongoDB on MS AzureJohannes Hoppe
This talk concentrates on Microsoft's cloud platform, called Azure. Johannes gives an introduction to the new platform and speaks about its possibilities and limitations. By utilizing the Windows Azure SDK for Node.js he is going to demonstrate a simple JavaScript-driven browser game that bases on Node.js and MongoDB.
The document discusses trends in data, networking, and individualization. It then covers topics around scaling databases including scale-up (vertical scaling) and scale-out (horizontal scaling). It notes that NoSQL databases do not use a relational data model or SQL, instead supporting distributed and horizontal scalability with loose or no schema restrictions and different consistency models. Requirements for distributed systems like consistency, availability, and partition tolerance are discussed in relation to Brewer's CAP theorem from 2000.
This document provides an overview of NoSQL and MongoDB. It discusses trends driving the adoption of NoSQL databases like increasing data sizes, more connectedness, and individualization. It covers the different types of NoSQL databases and MongoDB in particular. Key concepts discussed include the CAP theorem, MongoDB's document-oriented data model, and basic CRUD operations in MongoDB using the shell.
This document discusses different data modeling techniques for MongoDB including embedding documents, linking documents by ID, and handling many-to-many relationships. It provides code examples of saving documents, querying, and updating in MongoDB. It also briefly covers software testing strategies for MongoDB applications.
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.
MongoDB is a scalable, high-performance, open-source document database that provides dynamic queries and indexing. It aims to provide the power of relational databases with the scalability and flexibility of non-relational databases. Key features include ease of use, scaling capabilities, dynamic queries similar to SQL, and speed comparable to key-value stores while supporting rich querying like relational databases.
The document discusses Dirty, a simple in-memory NoSQL database written for Node.js. Dirty stores data as JSON documents in an append-only log on disk and supports common CRUD operations through a simple JavaScript API. Benchmarks show Dirty can process millions of operations per second but hits scaling limitations with over a million records as it keeps all data in memory. The document explores possibilities for building databases that combine memory and disk storage and support features like replication to scale beyond these limits.
This document provides an overview of MongoDB and examples of CRUD operations. It discusses setting up a MongoDB directory and starting the server and shell. It then demonstrates creating, reading, updating, and deleting documents. Examples show inserting single documents and bulk inserting 1000 documents with random scores. Queries are demonstrated using find() with filters. Updates are shown using update() with $set and $push operators. Hands-on exercises are provided to practice CRUD operations on sample datasets.
2012-03-20 - Getting started with Node.js and MongoDB on MS AzureJohannes Hoppe
This talk concentrates on Microsoft's cloud platform, called Azure. Johannes gives an introduction to the new platform and speaks about its possibilities and limitations. By utilizing the Windows Azure SDK for Node.js he is going to demonstrate a simple JavaScript-driven browser game that bases on Node.js and MongoDB.
The document discusses trends in data, networking, and individualization. It then covers topics around scaling databases including scale-up (vertical scaling) and scale-out (horizontal scaling). It notes that NoSQL databases do not use a relational data model or SQL, instead supporting distributed and horizontal scalability with loose or no schema restrictions and different consistency models. Requirements for distributed systems like consistency, availability, and partition tolerance are discussed in relation to Brewer's CAP theorem from 2000.
This document provides an overview of NoSQL and MongoDB. It discusses trends driving the adoption of NoSQL databases like increasing data sizes, more connectedness, and individualization. It covers the different types of NoSQL databases and MongoDB in particular. Key concepts discussed include the CAP theorem, MongoDB's document-oriented data model, and basic CRUD operations in MongoDB using the shell.
This document discusses different data modeling techniques for MongoDB including embedding documents, linking documents by ID, and handling many-to-many relationships. It provides code examples of saving documents, querying, and updating in MongoDB. It also briefly covers software testing strategies for MongoDB applications.
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.
MongoDB is a scalable, high-performance, open-source document database that provides dynamic queries and indexing. It aims to provide the power of relational databases with the scalability and flexibility of non-relational databases. Key features include ease of use, scaling capabilities, dynamic queries similar to SQL, and speed comparable to key-value stores while supporting rich querying like relational databases.
The document discusses Dirty, a simple in-memory NoSQL database written for Node.js. Dirty stores data as JSON documents in an append-only log on disk and supports common CRUD operations through a simple JavaScript API. Benchmarks show Dirty can process millions of operations per second but hits scaling limitations with over a million records as it keeps all data in memory. The document explores possibilities for building databases that combine memory and disk storage and support features like replication to scale beyond these limits.
- Zhou Lizui is the founder and CEO of Sleepnova Inc. and a technical advisor for KKBOX on Android and cloud technologies.
- His interests include agile development, scalable architectures, and how information technology can benefit society.
- He has spoken at conferences on server-side JavaScript and NoSQL databases. One of his projects handled over 22 million requests in 4 hours for an election reporting system.
- RingoJS allows developing on the JVM with JavaScript's flexibility while accessing Java libraries, and offers alternatives to Node.js for server-side development.
Building a Location-based platform with MongoDB from Zero.Ravi Teja
Raviteja Dodda presented on building a location-based backend platform using MongoDB and MongoEngine. He discussed using MongoDB's geospatial indexing and query capabilities to build a check-in rewards app that allows users to check-in to places and earn rewards. He outlined the data models for places, users, check-ins and rewards, and provided examples of geospatial queries to find places and rewards near a given location. Raviteja concluded by encouraging attendees to build their own location-based applications using MongoDB's simple and powerful geospatial features.
Drupal 7 introduces several new features including requirements for PHP5 and newer database versions, an automated testing framework called SimpleTest, a new database abstraction layer called DBTNG, improved user experience with the D7UX project, support for RDFa semantic metadata, updated theming system called Stark, a reworked Field API, updated file and image handling, and more. The presentation encourages helping with Drupal 7 by contributing to documentation, testing patches, submitting patches, and spreading awareness of the new version.
The document discusses the history and features of web storage technologies including cookies, Flash storage, localStorage, sessionStorage, WebSQL, and IndexedDB. It provides examples of how to open a database connection, create tables, add and retrieve records using WebSQL and IndexedDB.
This document discusses using different database technologies for an online football management game. It will use MongoDB to store user data like user leagues, teams and player data. It will also interface with legacy MS SQL Server and MySQL databases for static data like clubs, players, and leagues. The Python framework Pylons and ORM SQLAlchemy will be used to interact with the SQL databases, while MongoEngine ORM will be used for MongoDB. Caching may be implemented to store static data in memory. Sharding may also be used to scale MongoDB as user data grows substantially.
This document provides an overview of DBIx::Class, an ORM for Perl that allows you to interact with databases in an object-oriented way. It discusses how DBIx::Class works, alternatives to it, and some key benefits like not having to write SQL and making coding easier. It then walks through an example of generating the schema from an existing database, and shows how to perform common CRUD operations. Key methods like find_or_create and update_or_create are also mentioned. The document concludes by explaining the difference between a Result and a ResultSet in DBIx::Class.
This document provides an overview of Django, SQLAlchemy, jQuery, and how they can be used together. It discusses using SQLAlchemy as an ORM to write SQL queries compatible with different databases. It demonstrates how to create tables, classes and mappers in SQLAlchemy. It also shows how to add, query, filter, count, and build relationships between objects. The document then provides an overview of jQuery and compares onload and ready events. It demonstrates how to select elements and attributes using jQuery.
Node.js and MongoDB are a good fit as MongoDB provides a high-fidelity data store for Node.js applications. To get started quickly, use Nave to manage Node.js versions, npm to manage packages, Express as a web framework, Mongoose as an ODM, and EJS for templating. Key steps include setting up Bootstrap, adding authentication with Mongoose-Auth, and defining schemas like a Link schema for data.
This document discusses using JDBC with Hive for ETL and BI purposes. It describes using connection pooling and Jdbc templates in Spring for ETL. It also discusses using Sqirrel as a Hive client tool, highlighting its metadata retrieval, code completion, and performance issues when building query outputs for large result sets.
This document provides an overview of how to use MongoDB with CakePHP. It begins with an introduction to MongoDB, describing it as an open-source, non-relational database with many drivers including one for PHP. It then discusses how to connect to MongoDB using the PHP Mongo driver and perform basic CRUD operations. Finally, it demonstrates how to use a MongoDB datasource plugin for CakePHP, allowing models to transparently communicate with MongoDB collections using familiar CakePHP methods like find, save, and delete. Code examples are provided to show inserting, updating, and querying data in MongoDB from CakePHP.
Sequel is a Ruby ORM and database toolkit that provides an ActiveRecord-like interface for working with databases. It supports SQLite, MySQL, PostgreSQL, and other databases. With Sequel, you can connect to databases, run SQL queries to retrieve and manipulate data, define models, and establish associations between models. Queries can be chained and return dataset objects. Sequel offers features like validations, hooks, migrations, and transactions for managing models and data.
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. It uses non-blocking I/O and event-driven architecture, making it suitable for real-time applications with many concurrent connections. Key features include a module system, asynchronous I/O bindings, common network protocols like HTTP and TCP/IP, and a streaming API. Addons allow extending Node.js with native code modules written in C/C++ for additional functionality.
Sequelize is a promise-based ORM for Node.js that allows for modeling of database tables, querying, and synchronization between models and tables. It supports PostgreSQL, MySQL, MariaDB, SQLite, and MSSQL. Sequelize provides advantages like saving time and effort for developers by handling basic tasks and allowing a focus on business logic. Models can be defined and queried, validated, associated with other models, and synchronized with database tables. Raw SQL queries can also be executed through Sequelize.
This document discusses the history and benefits of Scalable Vector Graphics (SVG) and how SVG rendering has evolved in Ember.js. It explains that SVG was standardized by the W3C in 1998 in response to competing vector formats. Benefits of SVG include small file sizes, arbitrary resolution, and ability to include metadata, links and animation. The document then summarizes the evolution of how Ember renders templates, moving from rendering templates as strings to directly manipulating the DOM with objects like HTMLBars. It discusses challenges of managing namespaces and contexts when rendering templates directly to the DOM.
MySQL flexible schema and JSON for Internet of ThingsAlexander Rubin
My presentation at Oracle Open World Conference 2017: Using MySQL Flexible Schema (Document Store/JSON) for IoT
Tuesday, Oct 03, 11:30 a.m. - 12:15 p.m. | Marriott Marquis (Yerba Buena Level) - Salon 14
Storing data from sensors (Internet of Things) may be challenging in many respects, specifically due to the changing nature of the data. For example, if you have a fixed table structure and a sensor will need to store new property, it will be hard to make this change. This session discusses different options for implementing flexible schemas with MySQL 5.7 and MySQL 8.0, using JSON and calculated fields as well as the MySQL Document Store feature. It includes a demo with IoT devices where data is stored in MySQL 8.0.
Node.js is an asynchronous event-driven JavaScript runtime that aims to build scalable network applications. It uses an event loop model that keeps the process running and prevents blocking behavior, allowing non-blocking I/O operations. This makes Node well-suited for real-time applications that require two-way connections like chat, streaming, and web sockets. The document outlines Node's core components and capabilities like modules, child processes, HTTP and TCP servers, and its future potential like web workers and streams.
The document provides tips and explanations for various MongoDB commands and operations including explain, hint, setProfilingLevel, currentOp, and mongostat. It discusses using indexes to optimize queries, setting profiling levels to log slow queries, using currentOp to view currently running operations, and using mongostat to view MongoDB server statistics.
Geospatial Indexing and Querying with MongoDBGrant Goodale
This document discusses using MongoDB to store and query location data. Key points include:
- MongoDB supports geospatial indexing and querying using Geo2D indexes on location fields.
- Queries like $near, $box, $center, and $polygon allow searching by proximity or within regions.
- Data should be structured with location as an array [long, lat] for spherical queries.
- Scaling involves sharding on a geo field, but has query limitations in MongoDB 1.8.
Introduction to the new official C# Driver developed by 10genMongoDB
The document provides an introduction and overview of the MongoDB C# driver:
- It highlights that the driver is fully featured, high performance, and rapidly tracks new releases of MongoDB.
- It outlines the driver's release timeline and how to download, add references to, and use namespaces in the driver.
- It describes some key classes in the driver like BsonDocument, MongoServer, MongoDatabase, and MongoCollection.
Zwei neue Technologien für die Cloud sind das JavaScript-Framework Node.js und die NoSQL-Datenbank MongoDB. Johannes Hoppe gibt einen Schnellstart in die beiden Open-Source-Systeme.
- Zhou Lizui is the founder and CEO of Sleepnova Inc. and a technical advisor for KKBOX on Android and cloud technologies.
- His interests include agile development, scalable architectures, and how information technology can benefit society.
- He has spoken at conferences on server-side JavaScript and NoSQL databases. One of his projects handled over 22 million requests in 4 hours for an election reporting system.
- RingoJS allows developing on the JVM with JavaScript's flexibility while accessing Java libraries, and offers alternatives to Node.js for server-side development.
Building a Location-based platform with MongoDB from Zero.Ravi Teja
Raviteja Dodda presented on building a location-based backend platform using MongoDB and MongoEngine. He discussed using MongoDB's geospatial indexing and query capabilities to build a check-in rewards app that allows users to check-in to places and earn rewards. He outlined the data models for places, users, check-ins and rewards, and provided examples of geospatial queries to find places and rewards near a given location. Raviteja concluded by encouraging attendees to build their own location-based applications using MongoDB's simple and powerful geospatial features.
Drupal 7 introduces several new features including requirements for PHP5 and newer database versions, an automated testing framework called SimpleTest, a new database abstraction layer called DBTNG, improved user experience with the D7UX project, support for RDFa semantic metadata, updated theming system called Stark, a reworked Field API, updated file and image handling, and more. The presentation encourages helping with Drupal 7 by contributing to documentation, testing patches, submitting patches, and spreading awareness of the new version.
The document discusses the history and features of web storage technologies including cookies, Flash storage, localStorage, sessionStorage, WebSQL, and IndexedDB. It provides examples of how to open a database connection, create tables, add and retrieve records using WebSQL and IndexedDB.
This document discusses using different database technologies for an online football management game. It will use MongoDB to store user data like user leagues, teams and player data. It will also interface with legacy MS SQL Server and MySQL databases for static data like clubs, players, and leagues. The Python framework Pylons and ORM SQLAlchemy will be used to interact with the SQL databases, while MongoEngine ORM will be used for MongoDB. Caching may be implemented to store static data in memory. Sharding may also be used to scale MongoDB as user data grows substantially.
This document provides an overview of DBIx::Class, an ORM for Perl that allows you to interact with databases in an object-oriented way. It discusses how DBIx::Class works, alternatives to it, and some key benefits like not having to write SQL and making coding easier. It then walks through an example of generating the schema from an existing database, and shows how to perform common CRUD operations. Key methods like find_or_create and update_or_create are also mentioned. The document concludes by explaining the difference between a Result and a ResultSet in DBIx::Class.
This document provides an overview of Django, SQLAlchemy, jQuery, and how they can be used together. It discusses using SQLAlchemy as an ORM to write SQL queries compatible with different databases. It demonstrates how to create tables, classes and mappers in SQLAlchemy. It also shows how to add, query, filter, count, and build relationships between objects. The document then provides an overview of jQuery and compares onload and ready events. It demonstrates how to select elements and attributes using jQuery.
Node.js and MongoDB are a good fit as MongoDB provides a high-fidelity data store for Node.js applications. To get started quickly, use Nave to manage Node.js versions, npm to manage packages, Express as a web framework, Mongoose as an ODM, and EJS for templating. Key steps include setting up Bootstrap, adding authentication with Mongoose-Auth, and defining schemas like a Link schema for data.
This document discusses using JDBC with Hive for ETL and BI purposes. It describes using connection pooling and Jdbc templates in Spring for ETL. It also discusses using Sqirrel as a Hive client tool, highlighting its metadata retrieval, code completion, and performance issues when building query outputs for large result sets.
This document provides an overview of how to use MongoDB with CakePHP. It begins with an introduction to MongoDB, describing it as an open-source, non-relational database with many drivers including one for PHP. It then discusses how to connect to MongoDB using the PHP Mongo driver and perform basic CRUD operations. Finally, it demonstrates how to use a MongoDB datasource plugin for CakePHP, allowing models to transparently communicate with MongoDB collections using familiar CakePHP methods like find, save, and delete. Code examples are provided to show inserting, updating, and querying data in MongoDB from CakePHP.
Sequel is a Ruby ORM and database toolkit that provides an ActiveRecord-like interface for working with databases. It supports SQLite, MySQL, PostgreSQL, and other databases. With Sequel, you can connect to databases, run SQL queries to retrieve and manipulate data, define models, and establish associations between models. Queries can be chained and return dataset objects. Sequel offers features like validations, hooks, migrations, and transactions for managing models and data.
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. It uses non-blocking I/O and event-driven architecture, making it suitable for real-time applications with many concurrent connections. Key features include a module system, asynchronous I/O bindings, common network protocols like HTTP and TCP/IP, and a streaming API. Addons allow extending Node.js with native code modules written in C/C++ for additional functionality.
Sequelize is a promise-based ORM for Node.js that allows for modeling of database tables, querying, and synchronization between models and tables. It supports PostgreSQL, MySQL, MariaDB, SQLite, and MSSQL. Sequelize provides advantages like saving time and effort for developers by handling basic tasks and allowing a focus on business logic. Models can be defined and queried, validated, associated with other models, and synchronized with database tables. Raw SQL queries can also be executed through Sequelize.
This document discusses the history and benefits of Scalable Vector Graphics (SVG) and how SVG rendering has evolved in Ember.js. It explains that SVG was standardized by the W3C in 1998 in response to competing vector formats. Benefits of SVG include small file sizes, arbitrary resolution, and ability to include metadata, links and animation. The document then summarizes the evolution of how Ember renders templates, moving from rendering templates as strings to directly manipulating the DOM with objects like HTMLBars. It discusses challenges of managing namespaces and contexts when rendering templates directly to the DOM.
MySQL flexible schema and JSON for Internet of ThingsAlexander Rubin
My presentation at Oracle Open World Conference 2017: Using MySQL Flexible Schema (Document Store/JSON) for IoT
Tuesday, Oct 03, 11:30 a.m. - 12:15 p.m. | Marriott Marquis (Yerba Buena Level) - Salon 14
Storing data from sensors (Internet of Things) may be challenging in many respects, specifically due to the changing nature of the data. For example, if you have a fixed table structure and a sensor will need to store new property, it will be hard to make this change. This session discusses different options for implementing flexible schemas with MySQL 5.7 and MySQL 8.0, using JSON and calculated fields as well as the MySQL Document Store feature. It includes a demo with IoT devices where data is stored in MySQL 8.0.
Node.js is an asynchronous event-driven JavaScript runtime that aims to build scalable network applications. It uses an event loop model that keeps the process running and prevents blocking behavior, allowing non-blocking I/O operations. This makes Node well-suited for real-time applications that require two-way connections like chat, streaming, and web sockets. The document outlines Node's core components and capabilities like modules, child processes, HTTP and TCP servers, and its future potential like web workers and streams.
The document provides tips and explanations for various MongoDB commands and operations including explain, hint, setProfilingLevel, currentOp, and mongostat. It discusses using indexes to optimize queries, setting profiling levels to log slow queries, using currentOp to view currently running operations, and using mongostat to view MongoDB server statistics.
Geospatial Indexing and Querying with MongoDBGrant Goodale
This document discusses using MongoDB to store and query location data. Key points include:
- MongoDB supports geospatial indexing and querying using Geo2D indexes on location fields.
- Queries like $near, $box, $center, and $polygon allow searching by proximity or within regions.
- Data should be structured with location as an array [long, lat] for spherical queries.
- Scaling involves sharding on a geo field, but has query limitations in MongoDB 1.8.
Introduction to the new official C# Driver developed by 10genMongoDB
The document provides an introduction and overview of the MongoDB C# driver:
- It highlights that the driver is fully featured, high performance, and rapidly tracks new releases of MongoDB.
- It outlines the driver's release timeline and how to download, add references to, and use namespaces in the driver.
- It describes some key classes in the driver like BsonDocument, MongoServer, MongoDatabase, and MongoCollection.
Zwei neue Technologien für die Cloud sind das JavaScript-Framework Node.js und die NoSQL-Datenbank MongoDB. Johannes Hoppe gibt einen Schnellstart in die beiden Open-Source-Systeme.
Quality matters. That’s why we write software tests. They give us confidence to release complex business applications. In a schema-free world they are going to be our escape rope! This talk introduces some Unit Testing principles and separates them from Integration Tests. We will see how other databases solve common problems and how we can archive the same with MongoDB. Of course, you can expect some Test Driven Development (TDD).
This document discusses trends in Rich Internet Applications (RIAs) and cloud computing. It begins with definitions of key concepts like RIA, cloud computing models (IaaS, PaaS, SaaS), and discusses the combination of RIAs and cloud computing as the future of software. The document then covers RIA design patterns and best practices, including common interaction and presentation patterns. It concludes with reiterating that the combination of asynchronous JavaScript and XML (Ajax) with RIA patterns enables new just-in-time delivery of information to keep users engaged.
DMDW Lesson 08 - Further Data Mining AlgorithmsJohannes Hoppe
The document discusses various data mining algorithms for regression analysis, including linear regression, logistic regression, and time series analysis. It provides examples and explanations of how each algorithm works, such as using linear regression to predict sales based on advertising spending. Sources and links are given for further information on implementing the algorithms in Microsoft SQL Server and other contexts.
This document provides an overview and agenda for a course on data mining and data warehousing. The course will be taught over multiple lectures, with over 50% of the time spent doing practical exercises. Key topics will include basic database knowledge, applied data mining techniques, and specific tools like SQL Server Analysis Services. Students are expected to complete homework assignments after each lecture and ask any questions via the teacher's blog. Resources like sample databases and documentation will be provided to help students learn. A working installation of Microsoft SQL Server is required to complete the hands-on work.
This document summarizes an application of data mining techniques to analyze customer data. It discusses using decision trees to model customer response to marketing campaigns. Decision trees partition customers into groups based on attributes like income and age to predict their response rates to mailings. Groups with a response rate over 3.5% would be targeted for direct marketing. Decision trees provide a flexible yet simple model for segmentation and targeting of customers.
I'm planning to give you a detailed introduction to the concepts of the data warehouse world.
We will also see why data mining and data warehouses are closely connected to each other.
The document discusses data mining and the data mining process. It describes data mining as examining databases to find patterns in data that users may not have considered. The data mining process involves 3 steps: 1) data preparation which includes cleaning and formatting data from a data warehouse, 2) running data mining algorithms like association rules and decision trees to analyze the data, and 3) evaluating the output to interpret and present any discoveries back to users. Key data mining algorithms and implementing data mining on top of a data warehouse are also covered.
This document discusses NoSQL databases and provides an overview of MongoDB and RavenDB. It begins with trends driving the adoption of NoSQL databases like increasing data sizes, more connectedness, and individualization. It then covers concepts like horizontal scaling, schema flexibility, and CAP theorem. Specific sections provide information on MongoDB's BSON format, CRUD operations, and MapReduce. For RavenDB, it discusses the developer, deployment, indexing, and HTTP API. It concludes with questions about table to document mapping and key/index strategies.
2012-05-14 NoSQL in .NET - mit Redis und MongoDBJohannes Hoppe
1: Vortrag: NoSQL in .NET – mit Redis und MongoDB
Der Vortrag führt in die Theorie ein, stellt die beiden NoSQL-Datenbanksysteme Redis und MongoDB näher vor und gibt Praxisbeispiele. Ich präsentiere die beiden Systeme live an einem ASP.NET MVC Beispielprojekt, welches allen Teilnehmern zur Verfügung gestellt wird.
2. Vortrag: NoSQL – Dokumente und Relationen
Eine dokumentenbasierte NoSQL-Datenbank wie MongoDB hat nicht nur eine andere API zur Abfrage der Daten. Die tiefergehende Neuerung ist eine grundlegende andere Art die Daten abzuspeichern. Der Vortrag konzentriert sich auf Schema-Design, das Map-Reduce Verfahren und bekannten Patterns für Dokumenten-basierte Datenbanken.
Die Präsentation führt in meine Grundsätze für ein schlichtes und effektives Webdesign ein. Inhalte sind Kompositionslehre, Effizienz und Schlichtheit und besucherspezifische Kommunikation.
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.
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.
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
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.
This document provides an overview of Redis, a key-value store database. It discusses how Redis can be used for caching database queries, restricting access by IP address, selecting random news items, processing job queues, using locks, and exploring database design options with Redis. Examples are given covering common use cases like caching, access control, processing asynchronous jobs, and using locks to coordinate access to shared resources.
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.
The document discusses best practices for crafting evolvable API responses. It advocates taking back control of representations by thinking of responses as messages rather than objects. This allows APIs to build payloads with just enough data to solve the problem and survive changes over time. The document explores using attribute groups, links, and established formats like HAL and JSON-LD to build representations that are minimal yet provide essential context.
This document describes a scalable, versioned document store built within PostgreSQL. It discusses the motivation for moving from multiple data stores and repositories to a single PostgreSQL database. It then covers the design of storing immutable content as Merkle DAG nodes linked by cryptographic hashes, with references and tags allowing different versions. It also explains how the system was implemented using PostgreSQL functions to generate hashes, insert nodes, and handle migrations from the original data model.
Active record inheritance allows models in a Rails application to inherit attributes and behaviors from other models. There are two types: single table inheritance stores subclass data in the same table as the parent, distinguishing types with a type column, while multiple table inheritance uses separate tables linked by associations, allowing each subclass to have different attributes. The document provides examples of implementing both types, including generating models, migrations, associations, and sample data, demonstrating how inheritance and subclass relationships work in ActiveRecord.
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.
This document provides an overview of schema design and data modeling for both relational and non-relational databases. It discusses the history of data modeling including hierarchical and relational models. The goals of data modeling are to avoid anomalies, minimize redesign, and make the model informative for users. Common data modeling patterns like one-to-many, many-to-many, and tree structures are explained. Specific examples are given for modeling comments, products, and categories in a non-relational database.
CouchApps are web applications built using CouchDB, JavaScript, and HTML5. CouchDB is a document-oriented database that stores JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. This talk will answer your basic questions about CouchDB, but will focus on building CouchApps and related tools.
The document describes MongoDB as an open-source, high-performance, document-oriented database. It stores data in flexible, JSON-like documents, with schemaless collections. It supports dynamic queries, indexing, aggregation and scaling horizontally. MongoDB is suited for scaling out web applications, caching, and high volume use cases where SQL may not be a good fit.
This document provides an introduction and overview of MongoDB. It discusses MongoDB's features such as being document-based, schema-less, easy to learn and use, and having replication and sharding capabilities. It also covers installing and configuring MongoDB, basic CRUD operations, querying, indexing, and common use cases. Tools for managing and working with MongoDB like MongoHub and a demo code repository are also referenced.
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.
This document provides an overview of NodeJS and NoSQL with CouchDB. It includes a 3-minute introduction to NoSQL, initial NoSQL choices, using Node.js with CouchDB, and introductions to CouchDB Map/Reduce and administration. It discusses why NoSQL is needed compared to relational databases and file storage. CouchDB is presented as a choice due to its implementation of ACID properties using multi-version concurrency control and B-tree indexes, as well as its schema-free and RESTful capabilities. The document also covers basic CouchDB CRUD operations and examples of using Map/Reduce views to transform raw data.
Con la versione 7 di Drupal è stato introdotto il concetto di Entity.
Verranno mostrate le potenzialità nell'uso delle Entity custom e le integrazioni possibili.
Relatore: Marco Vito Moscaritolo
Con la versione 7 di Drupal è stato introdotto il concetto di Entity, poi evoluto con la versione 8, utilizzato come base di buona parte degli elementi core (nodi, tassonomie, utenti, ...), ma - soprattutto - è stata data la possibilità di costruire entity custom. L'utilizzo di queste apre le possibilità di personalizzazione dello strumento ad un livello superiore velocizzando notevolmente lo sviluppo.
Verranno mostrate le potenzialità nell'uso delle Entity custom e le integrazioni possibili.
Letztes Wochenende waren Danny Koppenhagen, Ferdinand Malcher, Gregor Woiwode und ich Teilnehmer des Developer Open Space 2015.
Per Live-Coding mit Pair-Programming haben Gregor und ich einen Schnellstart in das neue Framework gegeben: TypeScript, Komponenten, Dekoratoren, Bindings, Events, Formularverarbeitung und Datenfluss in einer NG2-App. In 45 Minuten stand die erste Single-Page-App. Im Anschluss an die tolle Session möchte ich hier noch einmal alle Infos zusammen tragen.
Die didaktisch aufgebauten Folien findest du hier auf Slideshare, Links, Downloads und das Video findest du auf http://blog.johanneshoppe.de/2015/10/angular2-einfuehrung-schnellstart/.
MDC kompakt 2014: Hybride Apps mit Cordova, AngularJS und IonicJohannes Hoppe
Sehen Sie sich das Video an: http://haushoppe-its.de/videos/mdc-kompakt-2014-hybride-apps-mit-cordova-angularjs-und-ionic/
Dieser Vortrag wurde am 18.11.2014 bei der "MDC - Mobile Developer Conference kompakt 2014" aufgenommen.
Dank Apache Cordova ist es möglich, Ihr bestehendes Wissen zu HTML5, JavaScript und CSS3 auf mobile Apps anzuwenden. Nutzen Sie AngularJS von Google, um Techniken wie MVC und Data Binding in den Browser zu bringen. Erfahren Sie in diesem Vortrag, wie Sie mit dem jüngsten Spross, dem Ionic Framework, ansprechende Oberflächen für iOS, Android und Windows Phone gestalten können. Statt PowerPoint erwartet Sie viel Live Coding. Johannes Hoppe wird zusammen mit Ihnen eine erste hybride Anwendung entwickeln.
Der Map-Reduce Algorithmus begegnet uns bei vielen NoSQL Datenbanken. Wann immer große Datenmengen aggregiert werden, ist er das Mittel der Wahl. In einem Crashkurs wird die Theorie erläutert und gezeigt, wie in Dokumenten bei MongoDB, RavenDB und Hadoop gesucht wird. Mithilfe des MapReduce Modells von Hadoop werden Probleme wie das Durchzählen von Daten, Logfile-Analysen und Graphenanalysen demonstriert. Als Programmiersprache wird C# eingesetzt.
Sie kennen die bekannten Angriffsvektoren wie SQL-Injections oder XSS. Ihre Anwendung ist sicher. Ist Sie das wirklich? Auch wenn Sie in Ihrer Webanwendung kein HTML5 einsetzen, die Browser sind bereit! Kennen Sie alle neuen Markups? Haben Sie bereits die Potentiale von Cross Origin Requests, WebSockets oder Local Storage auf dem Radar? Lernen Sie neue Gefahrenpotentiale kennen, die durch die Unterstützung von HTML5 und dessen APIs entstanden sind. - See more at: http://www.developer-week.de/Programm/Veranstaltung/(event)/11133#sthash.ZRPweawl.dpuf
2013-06-24 - Software Craftsmanship with JavaScriptJohannes Hoppe
This document discusses principles of software craftsmanship including:
- Common JavaScript pitfalls like implied globals, trailing commas, and return undefined
- Best practices like avoiding globals, using module patterns for organization, and test-driven development
- Tools for JavaScript development like Jasmine for testing, RequireJS for module loading, and Visual Studio for debugging
- The process of test-driven development including writing tests, making them fail, making them pass, refactoring code, and repeating
2013-06-15 - Software Craftsmanship mit JavaScriptJohannes Hoppe
Entwickeln Sie Clean Code mit JavaScript. Den “Software Craftsman” zeichnen dabei Wissen, Werkzeuge und Wiederholung aus. Diese drei Grundfeste werden speziell für JavaScript beleuchtet. Lernen Sie die wichtigsten Patterns für eine stabile und wartbare Website kennen. Überprüfen Sie Ihre persönliche Werkzeugkiste für Entwicklung, Testing und Deployment. Schließen Sie Bekanntschaft mit Code Katas für JavaScript.
INTERAKTIVE SLIDES:
http://johanneshoppe.github.com/HTML5Security/
Sie kennen die bekannten Angriffsvektoren wie SQL-Injections oder XSS. Ihre Anwendung ist sicher. Ist Sie das wirklich? Auch wenn Sie in Ihrer Webanwendung kein HTML5 einsetzen, die Browser sind bereit! Kennen Sie alle neuen Markups? Haben Sie bereits die Potentiale von Cross Origin Requests, WebSockets oder Local Storage auf dem Radar? Lernen Sie neue Gefahrenpotentiale kennen, die durch die Unterstützung von HTML5 und dessen APIs entstanden sind.
2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best PracticesJohannes Hoppe
The document provides JavaScript best practices focusing on code quality, avoiding antipatterns like implied globals and eval, and recommendations for style like indentation and naming conventions. It also discusses testing with Jasmine including writing tests, making them pass, refactoring code, and repeating the test-driven development process. Modular code organization techniques like revealing module pattern and event publishing are also covered.
Mit HTML5 & JavaScript lassen sich Browser-Games kreieren, die vormals nur mit proprietären Plugins möglich waren. Dazu zählen hardwarebeschleunigte 3D-Grafiken, welche über den WebGL-Standard unterstützt werden. Johannes Hoppe stellt die Tools und Technologien vor, die für die Erstellung von „SolarTournament" verwendet wurden. Allen Teilnehmern wird der Source-Code dieses Multiplayer 3D Action-Shooters sowie eine Auswahl der Arbeitsdateien zur Verfügung gestellt.
1. The document discusses applying architectural patterns and principles like logging, validation, transactions, and exception handling to business logic code in .NET.
2. It shows an example of refactoring a method that rents a book to a customer to add logging, validate method parameters, retry transactions using a scope, and handle exceptions.
3. By applying these techniques, the business logic is made more robust, maintainable, and aligned with best practices for .NET development.
2011-06-27 - AOP - .NET User Group Rhein NeckarJohannes Hoppe
The document provides an introduction to aspect-oriented programming with .NET. It discusses various cross-cutting concerns like logging, exceptions, validation, and caching that can be addressed using aspect-oriented programming. It also demonstrates how aspects are used to modify the intermediate language (IL) code to inject cross-cutting behavior before, after, and around method calls. Various aspect oriented programming frameworks for .NET are also mentioned.
DMDW 8. Student Presentation - Groovy to MongoDBJohannes Hoppe
The document outlines an ETL project to extract data from an Excel room-plan file, transform it into a new structure and data types, and load it into a database. It discusses exporting the CSV file from Excel and issues with encoding and delimiter. It then describes using a Groovy script to parse the file and handle inconsistent data. Finally, it notes putting the objects into the database and addressing problems around data conversion and structure.
DMDW 5. Student Presentation - Pentaho Data Integration (Kettle)Johannes Hoppe
This document discusses data warehousing and data mining. It describes a typical data warehouse architecture including data consolidation, security, modeling, and querying requirements. It outlines the extract, transform, load (ETL) process for moving raw data into the warehouse. Specific tools used are MySQL, MySQL Workbench, and Pentaho Data Integration. The steps taken include verifying source Excel data, preparing the database structure in MySQL, and performing the extract, transform, and load of data using Pentaho.
DMDW 7. Student Presentation - Pentaho Data Integration (Kettle)Johannes Hoppe
ETL involves extracting data from outside sources, transforming it to fit operational needs, and loading it into an end target database. The document discusses extracting Excel data which can contain errors like null entries, spelling mistakes, and duplicates. It describes normalizing the data to decompose relations and define relationships between smaller, well-structured tables. Various ETL tools are mentioned, including Pentaho Data Integration, an open source and user-friendly tool that supports extraction, transformation, and loading capabilities.
DMDW 9. Student Presentation - Java to MySQLJohannes Hoppe
This document provides an introduction to an exercise on Extract, Transform, Load (ETL) processes. It was presented by Stefan Böttler, Daniel Henn and Philipp Grundmann for the course Data Mining & Data Warehouse taught by lecturer Dipl.-Inf. (FH) Johannes Hoppe. The document outlines the ETL process of extract, transform, load and lists the software requirements of Java, MySQL, XAMPP and HeidiSQL.
DMDW 11. Student Presentation - JAVA to MongoDBJohannes Hoppe
The document describes an ETL tool created in Java to extract data from an Excel file and load it into a MongoDB database. The tool uses the Morphia ORM mapper to map Excel data to Java objects and then to documents in MongoDB for storage. The tool was built using Java 1.6 and runs on any machine with a JVM, extracting from Excel files and transforming and loading the data into MongoDB in a non-SQL document format.
The document discusses integrating an Excel spreadsheet into a Microsoft Access database. It describes the tools used, including Microsoft Access 2007, 2010, and Excel 2007 and 2010. Some common problems that can occur during import are discussed, such as missing column headings, empty spaces, and formatting errors with dates and times. Solutions for resolving these problems, such as manual corrections and using Access 2010 features, are provided. A live demonstration of the integration process is also included.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
47. “While being RESTful is a goal of the
HTTP API, it is secondary to the goal of
exposing easy to use and powerful
functionality”
Ayende Rahien on the HTTP API - http://ravendb.net/documentation/docs-http-api-restful
58. CODASYL model SQL Agile becoming more Google MongoDB initial
published invented popular BigTable release
IBM’s Oracle Brewer’s Amazon
IMS INGRES founded CAP born Dynamo
1966 1969 1970 1973 1974 1977 1985 1990’s 2000 2004 2007 2008 2009
10gen NoSQL
Codd publishes Term “object-oriented founded Movement
relational model paper database” appears
in 1970 Apache Cassandra
initial release