This document discusses various techniques for visualizing MongoDB data, including:
1) Exporting MongoDB data to JSON format for visualization libraries.
2) Introducing JSON and how it represents data structures.
3) Demonstrating basic visualizations using Google Maps JavaScript API and D3.js to plot locations and bars.
4) More advanced visualizations with D3.js like heat maps, treemaps and bubble charts.
This document provides an introduction and overview of D3 (D3.js), an open-source JavaScript library for visualizing data using web standards like SVG, HTML and CSS. It discusses how to install D3, introduces common chart types like trees, networks and maps, and provides a 4-step tutorial for creating a basic bar chart from TSV data to get started with visualizing data in D3. The document recommends additional learning resources for diving deeper into D3.
Presentation / Workshop which will teach you the core patterns, concepts and visualisation options of D3.js (v4). Accompanying exercises can be found here: https://github.com/josdirksen/d3exercises
Cubes provides lightweight OLAP capabilities for analytical modeling and reporting. It allows users to slice and dice analytical data using an aggregation browser and supports SQL backends for storage and querying. The logical model defines cubes, dimensions, and measures, which are then mapped to physical storage such as a SQL database for browsing and analysis.
The document summarizes a presentation given by Jason Davies about the CouchDB database. It discusses key features of CouchDB including that it is schema-free and uses JSON documents, is document-oriented rather than relational, uses JavaScript-powered MapReduce queries, and supports N-master replication of data across multiple servers. It also covers topics like CouchDB's RESTful API, use of MVCC for concurrency control, and robust storage mechanisms.
This document provides an overview of SVG, CSS3, and D3 for beginners. It covers key SVG elements like <line>, <ellipse>, <rect>, <polygon>, and <path> as well as features like gradients, filters, transforms and animation. It also demonstrates CSS3 concepts like rounded corners, gradients and transforms. Examples are provided in HTML files with linked CSS style sheets. The document then introduces D3, an open source JavaScript library for data visualization that uses SVG, HTML and CSS. Key D3 concepts, functionality and use cases are outlined.
This is a presentation on CouchDB that I gave at the New York PHP User Group. I talked about the basics of CouchDB, its JSON documents, its RESTful API, writing and querying MapReduce views, using CouchDB from within PHP, and scaling.
This document provides an overview and introduction to MongoDB, an open-source, high-performance, schema-free, document-oriented database. It describes MongoDB's data model using documents and collections rather than tables, its dynamic queries, indexing and scaling capabilities. The document also compares MongoDB to traditional relational databases and discusses some common use cases and programming interfaces for MongoDB.
Entity Relationships in a Document Database at CouchConf BostonBradley Holt
Unlike relational databases, document databases like CouchDB and Couchbase do not directly support entity relationships. This talk will explore patterns of modeling one-to-many and many-to-many entity relationships in a document database. These patterns include using an embedded JSON array, relating documents using identifiers, using a list of keys, and using relationship documents.
This document provides an introduction and overview of D3 (D3.js), an open-source JavaScript library for visualizing data using web standards like SVG, HTML and CSS. It discusses how to install D3, introduces common chart types like trees, networks and maps, and provides a 4-step tutorial for creating a basic bar chart from TSV data to get started with visualizing data in D3. The document recommends additional learning resources for diving deeper into D3.
Presentation / Workshop which will teach you the core patterns, concepts and visualisation options of D3.js (v4). Accompanying exercises can be found here: https://github.com/josdirksen/d3exercises
Cubes provides lightweight OLAP capabilities for analytical modeling and reporting. It allows users to slice and dice analytical data using an aggregation browser and supports SQL backends for storage and querying. The logical model defines cubes, dimensions, and measures, which are then mapped to physical storage such as a SQL database for browsing and analysis.
The document summarizes a presentation given by Jason Davies about the CouchDB database. It discusses key features of CouchDB including that it is schema-free and uses JSON documents, is document-oriented rather than relational, uses JavaScript-powered MapReduce queries, and supports N-master replication of data across multiple servers. It also covers topics like CouchDB's RESTful API, use of MVCC for concurrency control, and robust storage mechanisms.
This document provides an overview of SVG, CSS3, and D3 for beginners. It covers key SVG elements like <line>, <ellipse>, <rect>, <polygon>, and <path> as well as features like gradients, filters, transforms and animation. It also demonstrates CSS3 concepts like rounded corners, gradients and transforms. Examples are provided in HTML files with linked CSS style sheets. The document then introduces D3, an open source JavaScript library for data visualization that uses SVG, HTML and CSS. Key D3 concepts, functionality and use cases are outlined.
This is a presentation on CouchDB that I gave at the New York PHP User Group. I talked about the basics of CouchDB, its JSON documents, its RESTful API, writing and querying MapReduce views, using CouchDB from within PHP, and scaling.
This document provides an overview and introduction to MongoDB, an open-source, high-performance, schema-free, document-oriented database. It describes MongoDB's data model using documents and collections rather than tables, its dynamic queries, indexing and scaling capabilities. The document also compares MongoDB to traditional relational databases and discusses some common use cases and programming interfaces for MongoDB.
Entity Relationships in a Document Database at CouchConf BostonBradley Holt
Unlike relational databases, document databases like CouchDB and Couchbase do not directly support entity relationships. This talk will explore patterns of modeling one-to-many and many-to-many entity relationships in a document database. These patterns include using an embedded JSON array, relating documents using identifiers, using a list of keys, and using relationship documents.
The document provides an overview of Scalable Vector Graphics (SVG) and the D3.js library for manipulating SVG graphics. It discusses basic SVG shapes and paths that can be used to create visualizations like bar charts. It then demonstrates how to generate SVG elements like rectangles and circles using D3 selections and data binding. Transitions and interactive elements are also covered. Examples are provided to illustrate D3 concepts like entering new data, updating existing elements, and exiting stale elements from the DOM.
The new MongoDB aggregation framework provides a more powerful and performant way to perform data aggregation compared to the existing MapReduce functionality. The aggregation framework uses a pipeline of aggregation operations like $match, $project, $group and $unwind. It allows expressing data aggregation logic through a declarative pipeline in a more intuitive way without needing to write JavaScript code. This provides better performance than MapReduce as it is implemented in C++ rather than JavaScript.
Aggregation Framework in MongoDB Overview Part-1Anuj Jain
The document discusses MongoDB's aggregation framework. It defines aggregation as gathering data together to perform computations and return computed results. The aggregation framework in MongoDB uses pipelines similar to UNIX pipes to perform aggregation operations like $group, $match, $project, etc. on data. It also supports map-reduce operations and provides connectors to Hadoop. The document provides examples of translating common SQL queries to the aggregation framework and discusses concepts like optimization, restrictions and references for further reading.
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...Sencha
Ext JS provides easy-to-use charting components that satisfy common needs, but sometimes you want to deliver an exceptional, unique user experience. This presentation will discuss how Ext JS leverages the popular and extremely powerful D3 library to create sophisticated, data-driven visualizations. This functionality helps your users understand the story behind their data, so they can make informed decisions.
MongoDB offers two native data processing tools: MapReduce and the Aggregation Framework. MongoDB’s built-in aggregation framework is a powerful tool for performing analytics and statistical analysis in real-time and generating pre-aggregated reports for dashboarding. In this session, we will demonstrate how to use the aggregation framework for different types of data processing including ad-hoc queries, pre-aggregated reports, and more. At the end of this talk, you should walk aways with a greater understanding of the built-in data processing options in MongoDB and how to use the aggregation framework in your next project.
These are slides from our Big Data Warehouse Meetup in April. We talked about NoSQL databases: What they are, how they’re used and where they fit in existing enterprise data ecosystems.
Mike O’Brian from 10gen, introduced the syntax and usage patterns for a new aggregation system in MongoDB and give some demonstrations of aggregation using the new system. The new MongoDB aggregation framework makes it simple to do tasks such as counting, averaging, and finding minima or maxima while grouping by keys in a collection, complementing MongoDB’s built-in map/reduce capabilities.
For more information, visit our website at http://casertaconcepts.com/ or email us at info@casertaconcepts.com.
This document provides a high-level overview of polyglot persistence and different database technologies. It begins by discussing the benefits of polyglot persistence in allowing the use of multiple data storage technologies based on application needs. It then summarizes several common database types including relational, document-oriented, key-value, and column-oriented databases. It also discusses database properties like ACID compliance, scaling, and data consistency models. The document concludes with examples of Amazon's SimpleDB and DynamoDB key-value stores.
This document discusses the Ajaxian framework Prototype and its utilities for asynchronous JavaScript (Ajax). It provides an overview of Prototype's basic utilities for DOM manipulation and Ajax helpers. The Ajax helpers include an Ajax object that handles cross-browser XMLHttpRequests and an Ajax.Request method for making Ajax calls with configurable options and callbacks. An example is given showing how to make an Ajax request and specify a callback function using Ajax.Request.
This document discusses using MapReduce, the Aggregation Framework, and the Hadoop Connector to perform data analysis and reporting on data stored in MongoDB. It provides examples of using various aggregation pipeline stages like $match, $project, $group to filter, reshape, and group documents. It also covers limitations of the aggregation framework and how the Hadoop Connector can help integrate MongoDB with Hadoop for distributed processing of large datasets across multiple nodes.
The document discusses features of SVG and D3, including different SVG elements, colors/gradients/filters, transforms and animation, and how D3 builds upon SVG to enable data visualization. It provides examples of creating basic SVG shapes and charts with D3, binding data to DOM elements, adding mouse interactions and transitions. It also covers using D3 with other technologies like Angular, working with different data formats and large datasets, and transpires for working with modern JavaScript.
1403 app dev series - session 5 - analyticsMongoDB
This document provides an agenda for a session on reporting and analytics options in MongoDB, including Map Reduce, the Aggregation Framework, and examples using geospatial and text search features. It discusses building reports in an application, tuning aggregation pipelines with explain plans, and computing aggregations on the fly or pre-computing and storing them. The next session will cover operational topics like scaling out, high availability, production preparation, and sizing.
This document provides an overview of jQuery and Web 2.0 technologies. It discusses how jQuery simplifies tasks like DOM manipulation, event handling, and Ajax. jQuery uses CSS-like selectors to find elements and chaining to perform multiple actions at once. It has a simple API for common tasks and can be extended through plugins. The document also touches on related tools like jQuery UI and jQuery Mobile.
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.
This document provides an overview of using React Draft.js to build rich text editors. It discusses how Draft.js uses immutable states to control content and selection, and how this allows building fully customizable editors. It also introduces Megadraft, an editor built with Draft.js and React that is open source and extensible through plugins.
This document provides an overview of jQuery, a JavaScript library. It discusses what jQuery is and is not (a library, not a framework), its basic features like selecting elements and chaining methods. It also covers jQuery's main functionality areas like selections, DOM traversal, DOM manipulation, attributes/CSS, events, and animation. The document provides examples for these areas and discusses useful techniques like event handling, namespacing, custom events, and event delegation that can be used with jQuery. It concludes with ways jQuery itself can be extended, such as adding new functions, selectors, or animation properties.
This document discusses schema design in MongoDB. It covers topics like working with documents, evolving schemas, queries and indexes. It provides examples of modeling common patterns like inheritance, one-to-many and many-to-many relationships, and trees. It discusses embedding data versus referencing it in different collections and considerations for schema design like access patterns and data size.
The document discusses HTML5 and CSS features such as data attributes, media queries, the canvas API, and JavaScript array methods and template strings. It provides code examples and links to resources about using these features for responsive design, conditional loading of resources, image manipulation, and more powerful string interpolation in JavaScript.
Intro to node.js - Ran Mizrahi (27/8/2014)Ran Mizrahi
Node.js is a platform built on Chrome V8 javascript runtime engine for building fast and scalable, non-blocking, real-time and network applications. In this session Ran will introduce node.js and how to develop large code bases using it. He'll cover the following aspects:
• What is node.js?
• Apache vs. Nginx performance (One thread per connection vs. event loop) and what it has to do with node.js.
• Why node was written in Javascript?
• Main tools and frameworks (Express, socket.io, mongoose etc.)
• TDD/BDD with node.js using mocha and Chai.
Ran Mizrahi, Founder of CoCycles, Passionate entrepreneur and software engineer who loves to continuously innovate and deliver meaningful products while having true fun with the right team.
Intro to node.js - Ran Mizrahi (28/8/14)Ran Mizrahi
This document provides an introduction to Node.js, including what it is, how it works, and some common frameworks and tools used with Node.js. Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that uses an event-driven, non-blocking I/O model to handle requests. It allows for easy development of scalable network applications. The document discusses Node.js' event loop architecture, non-blocking I/O, and provides examples of using Express, Socket.IO, Mongoose and testing with Mocha/Chai.
The document provides an overview of Scalable Vector Graphics (SVG) and the D3.js library for manipulating SVG graphics. It discusses basic SVG shapes and paths that can be used to create visualizations like bar charts. It then demonstrates how to generate SVG elements like rectangles and circles using D3 selections and data binding. Transitions and interactive elements are also covered. Examples are provided to illustrate D3 concepts like entering new data, updating existing elements, and exiting stale elements from the DOM.
The new MongoDB aggregation framework provides a more powerful and performant way to perform data aggregation compared to the existing MapReduce functionality. The aggregation framework uses a pipeline of aggregation operations like $match, $project, $group and $unwind. It allows expressing data aggregation logic through a declarative pipeline in a more intuitive way without needing to write JavaScript code. This provides better performance than MapReduce as it is implemented in C++ rather than JavaScript.
Aggregation Framework in MongoDB Overview Part-1Anuj Jain
The document discusses MongoDB's aggregation framework. It defines aggregation as gathering data together to perform computations and return computed results. The aggregation framework in MongoDB uses pipelines similar to UNIX pipes to perform aggregation operations like $group, $match, $project, etc. on data. It also supports map-reduce operations and provides connectors to Hadoop. The document provides examples of translating common SQL queries to the aggregation framework and discusses concepts like optimization, restrictions and references for further reading.
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...Sencha
Ext JS provides easy-to-use charting components that satisfy common needs, but sometimes you want to deliver an exceptional, unique user experience. This presentation will discuss how Ext JS leverages the popular and extremely powerful D3 library to create sophisticated, data-driven visualizations. This functionality helps your users understand the story behind their data, so they can make informed decisions.
MongoDB offers two native data processing tools: MapReduce and the Aggregation Framework. MongoDB’s built-in aggregation framework is a powerful tool for performing analytics and statistical analysis in real-time and generating pre-aggregated reports for dashboarding. In this session, we will demonstrate how to use the aggregation framework for different types of data processing including ad-hoc queries, pre-aggregated reports, and more. At the end of this talk, you should walk aways with a greater understanding of the built-in data processing options in MongoDB and how to use the aggregation framework in your next project.
These are slides from our Big Data Warehouse Meetup in April. We talked about NoSQL databases: What they are, how they’re used and where they fit in existing enterprise data ecosystems.
Mike O’Brian from 10gen, introduced the syntax and usage patterns for a new aggregation system in MongoDB and give some demonstrations of aggregation using the new system. The new MongoDB aggregation framework makes it simple to do tasks such as counting, averaging, and finding minima or maxima while grouping by keys in a collection, complementing MongoDB’s built-in map/reduce capabilities.
For more information, visit our website at http://casertaconcepts.com/ or email us at info@casertaconcepts.com.
This document provides a high-level overview of polyglot persistence and different database technologies. It begins by discussing the benefits of polyglot persistence in allowing the use of multiple data storage technologies based on application needs. It then summarizes several common database types including relational, document-oriented, key-value, and column-oriented databases. It also discusses database properties like ACID compliance, scaling, and data consistency models. The document concludes with examples of Amazon's SimpleDB and DynamoDB key-value stores.
This document discusses the Ajaxian framework Prototype and its utilities for asynchronous JavaScript (Ajax). It provides an overview of Prototype's basic utilities for DOM manipulation and Ajax helpers. The Ajax helpers include an Ajax object that handles cross-browser XMLHttpRequests and an Ajax.Request method for making Ajax calls with configurable options and callbacks. An example is given showing how to make an Ajax request and specify a callback function using Ajax.Request.
This document discusses using MapReduce, the Aggregation Framework, and the Hadoop Connector to perform data analysis and reporting on data stored in MongoDB. It provides examples of using various aggregation pipeline stages like $match, $project, $group to filter, reshape, and group documents. It also covers limitations of the aggregation framework and how the Hadoop Connector can help integrate MongoDB with Hadoop for distributed processing of large datasets across multiple nodes.
The document discusses features of SVG and D3, including different SVG elements, colors/gradients/filters, transforms and animation, and how D3 builds upon SVG to enable data visualization. It provides examples of creating basic SVG shapes and charts with D3, binding data to DOM elements, adding mouse interactions and transitions. It also covers using D3 with other technologies like Angular, working with different data formats and large datasets, and transpires for working with modern JavaScript.
1403 app dev series - session 5 - analyticsMongoDB
This document provides an agenda for a session on reporting and analytics options in MongoDB, including Map Reduce, the Aggregation Framework, and examples using geospatial and text search features. It discusses building reports in an application, tuning aggregation pipelines with explain plans, and computing aggregations on the fly or pre-computing and storing them. The next session will cover operational topics like scaling out, high availability, production preparation, and sizing.
This document provides an overview of jQuery and Web 2.0 technologies. It discusses how jQuery simplifies tasks like DOM manipulation, event handling, and Ajax. jQuery uses CSS-like selectors to find elements and chaining to perform multiple actions at once. It has a simple API for common tasks and can be extended through plugins. The document also touches on related tools like jQuery UI and jQuery Mobile.
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.
This document provides an overview of using React Draft.js to build rich text editors. It discusses how Draft.js uses immutable states to control content and selection, and how this allows building fully customizable editors. It also introduces Megadraft, an editor built with Draft.js and React that is open source and extensible through plugins.
This document provides an overview of jQuery, a JavaScript library. It discusses what jQuery is and is not (a library, not a framework), its basic features like selecting elements and chaining methods. It also covers jQuery's main functionality areas like selections, DOM traversal, DOM manipulation, attributes/CSS, events, and animation. The document provides examples for these areas and discusses useful techniques like event handling, namespacing, custom events, and event delegation that can be used with jQuery. It concludes with ways jQuery itself can be extended, such as adding new functions, selectors, or animation properties.
This document discusses schema design in MongoDB. It covers topics like working with documents, evolving schemas, queries and indexes. It provides examples of modeling common patterns like inheritance, one-to-many and many-to-many relationships, and trees. It discusses embedding data versus referencing it in different collections and considerations for schema design like access patterns and data size.
The document discusses HTML5 and CSS features such as data attributes, media queries, the canvas API, and JavaScript array methods and template strings. It provides code examples and links to resources about using these features for responsive design, conditional loading of resources, image manipulation, and more powerful string interpolation in JavaScript.
Intro to node.js - Ran Mizrahi (27/8/2014)Ran Mizrahi
Node.js is a platform built on Chrome V8 javascript runtime engine for building fast and scalable, non-blocking, real-time and network applications. In this session Ran will introduce node.js and how to develop large code bases using it. He'll cover the following aspects:
• What is node.js?
• Apache vs. Nginx performance (One thread per connection vs. event loop) and what it has to do with node.js.
• Why node was written in Javascript?
• Main tools and frameworks (Express, socket.io, mongoose etc.)
• TDD/BDD with node.js using mocha and Chai.
Ran Mizrahi, Founder of CoCycles, Passionate entrepreneur and software engineer who loves to continuously innovate and deliver meaningful products while having true fun with the right team.
Intro to node.js - Ran Mizrahi (28/8/14)Ran Mizrahi
This document provides an introduction to Node.js, including what it is, how it works, and some common frameworks and tools used with Node.js. Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that uses an event-driven, non-blocking I/O model to handle requests. It allows for easy development of scalable network applications. The document discusses Node.js' event loop architecture, non-blocking I/O, and provides examples of using Express, Socket.IO, Mongoose and testing with Mocha/Chai.
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 provides an overview and introduction to single page application (SPA) frameworks using AngularJS. It discusses the rise of responsive SPAs and some of the challenges in building SPAs. It then introduces key AngularJS concepts like templates, directives, expressions, data binding, scopes, controllers and modules. It also includes a recap of JavaScript concepts like objects, functions and classes. Finally, it demonstrates basic AngularJS examples using directives, expressions, filters, controllers and scopes.
The document provides an overview of Couchbase, a NoSQL document-oriented database. It discusses key concepts such as Couchbase being non-SQL and schema-less with flexible data models. It also covers Couchbase architecture with peer-to-peer nodes, installation, basic usage through SDKs and web console, data modeling and querying documents through views and N1QL.
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.
Creating Dynamic Charts With JFreeChartDavid Keener
This presentation describes how to use JFreeChart, a Java open source charting library, to dynamically create charts and seamlessly embed them within web pages.
There's no escaping the fact that data visualization is hot right now. Everyone wants to tell their data's story visually, whether it be through a map, chart, or more detailed presentation. The difficulty is there are so many different tools that solve this, each one with their own benefits and limitations. We feel D3.js is the most awesome tool for handling this task -- which is the approach we've used for the sites like the Nation's Report Card, BlueCross BlueShield of North Carolina, GlobalChange, and others.
COMP 4026 Advanced HCI lecture 6 on OpenFrameworks and Google's Project Soli. Taught by Mark Billinghurst at the University of South Australia on August 25th 2016.
The document discusses jQuery fundamentals including selectors, interacting with the DOM, handling events, and Ajax features. It provides examples and recommendations for learning jQuery including reading documentation, using tools like VSDoc and Fiddler, and consuming tea and beer. Next steps mentioned are exploring additional JavaScript libraries and frameworks like Knockout, Backbone, LINQ.js, TypeScript, and SignalR to build richer user interfaces.
Hi performance table views with QuartzCore and CoreTextMugunth Kumar
This document provides an introduction to using QuartzCore and CoreText to build high-performance table views on iOS. It begins by explaining why fast scrolling is important for the iPhone experience. It then outlines three different methods for compositing table view cells (subviews, direct drawing, hybrid) and their pros and cons. The document dives into using QuartzCore and CoreText to render text and images within table view cells, providing examples of using CALayers, CATextLayers, and NSAttributedStrings. It concludes with performance tips for working with these frameworks like using dispatch_once.
Solid and Sustainable Development in Scalascalaconfjp
Kazuhiro Sera introduced several of his Scala projects including ScalikeJDBC, Skinny Framework, and AWScala. He discussed some of his philosophies for solid and sustainable development in Scala including using simplified class-based OOP with immutable data structures, avoiding overkill abstraction, writing tests without question, keeping infrastructure lightweight, and ensuring projects have no surprises for newcomers. He welcomed questions during the upcoming AMA session.
The Fine Art of Schema Design in MongoDB: Dos and Don'tsMatias Cascallares
Schema design in MongoDB can be an art. Different trade offs should be considered when designing how to store your data. In this presentation we are going to cover some common scenarios, recommended practices and don'ts to avoid based on previous experiences
This document describes a company that provides model-based development services and tools. It has offices in multiple countries with 140 employees. The company is a strategic member of the Eclipse Foundation and focuses on embedded software and enterprise application development through research collaboration.
"Визуализация данных с помощью d3.js", Михаил Дунаев, MoscowJS 19MoscowJS
This document discusses using the D3.js library for data visualization. It provides an overview of D3's capabilities for loading and binding data, generating visual elements based on data, and animating visualizations. It also lists some of D3's core components and layouts for positioning elements based on data relationships. The document promotes D3 as a powerful yet simple way to create interactive data visualizations in the browser.
This PPT is about my best friends, HTML, CSS and JS. Here I am just talk/show few features of them. all three combined make our web site more powerful in this WWW world.
This document provides an overview of a presentation on using D3 for data visualization on desktops, smartphones, and Google Glass. It discusses how D3 works, examples of basic charts like scatter plots and bar charts using D3, and how to incorporate features like mouse interactions, animations, filters and gradients. It also covers using D3 with technologies like Android, PhoneGap, and Google Glass to create mobile visualizations.
This document provides an overview of a presentation on using D3 for data visualization on desktops, smartphones, and Google Glass. It discusses topics like what D3 is, how it works, examples of creating simple charts and adding interactivity with mouse events, using SVG filters and gradients, and integrating D3 visualizations into Android and Google Glass apps. It also briefly mentions related technologies, resources for learning more, and potential training topics.
Aliasing Use Cases - How to Use IKANOW to Crunch Big Dataikanow
Learn how the IKANOW platform helps crunch big data with an example of searching for multiple aliases of Muammar Gaddafi. You can also watch how it is done on our blog post: http://www.ikanow.com/blog/05/14/aliasing-big-data-use-cases/
This is incredibly useful for finance, healthcare, intelligence, insurance and other industries that require actionable intelligence from unstructured and structured data.
Open Analytics: Building Effective Frameworks for Social Media Analysisikanow
The document outlines an analytic framework for effectively analyzing social media data. It discusses common pitfalls to avoid, such as analyzing what is said rather than why. The framework involves capturing relevant social media data, reporting on it, and analyzing it to answer operational questions. A case study applies this by analyzing Twitter sentiment about a new video game. It finds hashtags are generic and expands the query to improve understanding attitudes toward the product. The document concludes by recommending segmentation, graph analysis, and tying metrics to actions.
Dr. Michael Valivullah, NASS/USDA - Cloud Computingikanow
This document provides an overview of cloud computing. It defines cloud computing as a model enabling ubiquitous, convenient access to a shared pool of configurable computing resources that can be rapidly provisioned with minimal management effort. The document discusses different types of cloud services including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). It also covers public and private cloud models and highlights benefits of cloud computing such as agility, cost reduction, and increased efficiency.
Amazon Web Services (AWS) provides on-demand cloud computing platforms and APIs to individuals, companies, and governments, allowing them to access virtual computer systems and computer-hosted services through the Internet. AWS began in 2006 with a focus on providing web service infrastructure for Amazon's own retail division, and has since expanded into a broad range of cloud-based services including computing, storage, networking, database, analytics, application services, and deployment/management tools. With AWS, users pay only for resources consumed, avoiding up-front costs and gaining elasticity to scale up as needed.
Building Effective Frameworks for Social Media Analysisikanow
This document outlines an analytic framework for effectively analyzing social media data. It discusses common pitfalls to avoid, such as relying too heavily on metrics without understanding context. The framework involves capturing data from multiple social media sources, reporting insights through visualizations, and iteratively analyzing the data to test hypotheses and make recommendations. A case study applies this framework to understand public sentiment toward a new video game. The document emphasizes adapting to changing data and focusing analysis on addressing specific operational needs.
The document discusses document analysis and big data. It defines big data and document analysis. It describes how the Infinit.e solution harvests documents from various sources, enriches them by extracting entities and associations, and stores metadata, entities, and associations in a structured format. This allows the data to be analyzed and visualized to understand who, what, when, and where.
Infinit.e is an open analytics platform built using MongoDB and Hadoop. It allows users to collect, store, enrich, retrieve, analyze and visualize both structured and unstructured documents at scale. The platform utilizes open source technologies like Elasticsearch, MongoDB and Hadoop. MongoDB is used for document storage and development due to its flexible document model and ease of data model changes. Hadoop is used for large-scale analytics due to its proven scalability and availability of machine learning libraries. The presentation concludes with a demonstration of Infinit.e's capabilities.
This document discusses open analytics and its benefits. Open analytics combines open tools and agile engineering techniques to enable organizations to deliver analysis products more efficiently. This allows businesses to gain competitive advantages like increased growth, cost reductions, and innovation. Open analytics leverages open source software, open architectures, and open innovation to provide solutions for data processing, search, machine learning, storage, and visualization in a way that is easily extensible, mission agile, and teams analysis with technology. When applied properly with a focus on solving real business problems, open analytics can derive significant economic value for organizations.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Social Intelligence: Realizing Business Value in Big Dataikanow
The document discusses enabling agile intelligence through open analytics. It summarizes IKANOW's open analytics platform called Infinit.e which allows users to harness intelligence from big data by ingesting, categorizing, and organizing massive amounts of structured and unstructured data sources. The platform provides search, visualization, and link analysis capabilities to derive actionable intelligence from social media and other data sources for improved decision making, strategy, and business value.
How IKANOW uses MongoDB to help organizations solve really big problemsikanow
The Open Source document analysis platform Or, how IKANOW uses to help organizations solve really big problems
Infinit.e is an open source document discovery and analysis platform developed by IKANOW. It uses a number of open source tools like MongoDB to ingest, enrich, analyze, and visualize structured and unstructured documents at scale. MongoDB is well-suited for Infinit.e because it allows for flexible schema-less storage of documents, supports the common JSON format, and is highly scalable for large document workloads. Infinit.e demonstrates how document analysis of tweets about a MongoDB conference can provide insight into who is tweeting, how people are connected, what topics are being discussed, and sentiment analysis
Value Mining: How Entity Extraction Informs Analysisikanow
The document discusses how entity extraction can inform document analysis by turning unstructured data into a structured data model. It provides a case study of a federal agency that used entity extraction and open analytics tools to analyze over 6,000 documents, extracting entities like people, dates, and topics. This automated the previously manual process, reduced analysis time from hundreds of hours to a few hours, and ensured only relevant documents were included by identifying duplicates and missing metadata. The results provided the agency with key insights for their research.
Value Mining: How Entity Extraction Informs Analysis
Mongo db washington dc 2014
1. Washington DC 2013
Visualizing MongoDB Objects
in Concept and Practice
https://github.com/cvitter/ikanow.mongodc2013.presentation
2. Introduction
• Do you have a MongoDB database full of BSON
documents crying out for visual analysis?
3. Agenda
• Visualizing Objects vs. Records
• Getting Your Data from MongoDB
• JSON 101
• Free & Open Source Visualization Libraries
– Google Maps JavaScript API
– D3.js
• Other Visualization Libraries You Should Know
• Questions?
4. Objects vs. Records
• Document oriented data stores support dynamic and
complex schemas vs. the simple, static structures in
RDBMs, e.g.:
5. Is There Really a Difference?
• Yes and No
• Yes
• Obviously, document oriented formats are different from
record oriented formats;
• Few common visualizations tools designed for
traditional record based formats support document
based formats
• No
• The basic visualizations are the same even if the data
format feeding them are different
6. Getting your Data from MongoDB
• mongoexport
Export data from MongoDB as JSON or CSV
> mongoexport --db dbname --collection collectionname
--out file.json!
• MongoDB’s Simple REST Interface
• Read only access to data
• Start your server with the --rest option
• Simple queries:
http://127.0.0.1:28017/databaseName/collectionName/!
• Other options:
• DrowsyDromedary, MongoDB Rest, etc.
7. JSON 101
• JSON (JavaScript Object Notation) documents
are built using two types of common data structures:
• Name/value pairs (objects) and;
{ “string” : value }!
• Ordered lists of values (arrays).
{ “string” : [value, value, value] }!
• JSON is a subset of the object literal notation
of JavaScript so:
var jsonObj = {"numbers" : [1, 2, 3] };!
var numberOne = jsonObj.numbers[0];!
var numberTwo = jsonObj.numbers[1];!
• Converting the string representation of JSON is as easy as:
var jsonObj = JSON.parse("{"numbers":[1,2,3]}");!
8. A Word About the Sample Code
• All of the code used in this presentation is available online
via GitHub at:
https://github.com/cvitter/ikanow.mongodc2013.presentation
"
• The project includes code from the following Open Source
Projects:
• Bootstrap: http://twitter.github.com/bootstrap/!
• JQuery: http://jquery.com/!
• D3.js: http://d3js.org/
!
• The data samples used are simple JSON files read in using
JQuery’a .ajax method
9. Google Maps JavaScript API
• Requirements:
• Get an API Key (its free*)
• Have an Internet Connection
• Build a simple example that:
1. Creates a place holder DIV for the map object
2. Loads the map script
3. Initializes the map
4. Draws markers on the map
* Up to 25,000 map loads per day for commercial applications.
10. Creating the Map
• Use a DIV to create a placeholder for the map:
<div id="map_canvas" style="height:450px; width:870px;"></div>!
• Load the map script:
function loadScript() {!
var script = document.createElement("script");!
script.type = "text/javascript";!
script.src = "http://maps.googleapis.com/maps/api/js?
!key=YOUR_API_KEY&sensor=TRUE_OR_FALSE&callback=initialize";!
document.body.appendChild(script);!
}!
• Initialize the map:
var mapOptions = {!
!zoom: 11,!
!center: new google.maps.LatLng( 38.8964, -77.0262 ),!
!mapTypeId: google.maps.MapTypeId.ROADMAP!
};!
map = new google.maps.Map(document.getElementById('map_canvas'), !
! !mapOptions);!
11. Drawing Markers on the Map
• Sample documents:
{...},!
{!
!search_field: "adams morgan",!
!country: "United States",!
!country_code: "US",!
!region: "District of Columbia",!
!latitude: "38.9213889",!
!longitude: "-77.0425000”}!
},!
{...},!
• Add markers to the map:
for (var i=0; i < locations.length; i++) {! ! ! !!
!var marker = new google.maps.Marker({!
! !map: map, !!
! !position: new google.maps.LatLng(!
! ! !locations[i].latitude , locations[i].longitude ),!
! !title: convertToTitleCase(locations[i].search_field)!
!});!
}!
15. D3.js
• D3.js (d3js.org) is:
“a JavaScript library for manipulating documents based on
data”
• Convert data into visualizations in the following formats:
HTML, CSS, SVG
• Download the library or include it via:
<script src="http://d3js.org/d3.v3.min.js"></script>!
16. The (Very) Basics
• Select the DIV to write the SVG image to:
var chart = d3.select("#d3_canvas").append("svg")!
.attr("class", "chart")!
!.attr("width", chartWidth)!
!.attr("height", chartHeight);!
• Draw the bars (rectangles):
chart.selectAll("rect")!
.data(inputData)!
!.enter().append("rect")!
!.attr("y", function(d, i) {return i * (lineHeight + 3); })!
!.attr("width", function(d, i)
! !{ return chartWidth * (d.chance_of_rain * 0.01); })!
!.attr("height", function(d) return lineHeight; });!
17. Adding Rules
• Making things scale on the chart:
var x = d3.scale.linear()!
!.domain([0, 100])!
!.range([0, chartWidth]);!
• Drawing the rules:
chart.selectAll("line")!
.data(x.ticks(10))!
!.enter().append("line")!
!.attr("x1", x)!
!.attr("x2", x)!
!.attr("y1", 0)!
!.attr("y2", chartHeight)!
!.style("stroke", "#ccc");!
20. Treemaps, Bubble Charts, and More
• D3.js can accept an array of values, objects, or a function
that returns an array of values
• Some of the D3.js visualizations allow you to pass data in a
wide variety of formats, others expect a specific format
• The Treemap and Bubble Chart samples use a really
simple JSON tree structure representing multi-level parent
child relationships
22. Treemaps Layout
• D3.js features different layout packs that help you build
complex charts including .treemap
• In this example the layout pack is creating a properly sized
div for each node in our JSON file as opposed to creating
an SVG image
var treemap = d3.layout.treemap()!
!.size([width, height])!
!.sticky(true)!
!.value(function(d) { return d.size; });!
!
var node = div.datum(data).selectAll(".node")!
!.data(treemap.nodes)!
!.enter().append("div")!
!.attr("class", "node")!
!.call(position)!
!.style("background", function(d) {
! !return d.children ? color(d.name) : null; })!
.text(function(d) { return d.children ? null : d.name; });!
25. More Cool Visualization Libraries
• NVD3 (nvd3.org)
Re-usable charts and chart components for d3.js
• Raphael JS (raphaeljs.com)
JavaScript library designed to simplify working with vector graphics and
build data visualizations
• TimelineJS (timeline.verite.co)
“Beautifully crafted timelines that are easy, and intuitive to use.”
26. Reminder: Get the Example Code
• All of the sample code used in this presentation is available
online via GitHub at:
https://github.com/cvitter/
ikanow.mongodc2013.presentation