SlideShare une entreprise Scribd logo
1  sur  44
Alternatives to the shackles of limited scale in data solutions
Andy Cross
Windows Azure MVP
Elastacloud
IBM have been a leader in Big Data for years.
Wikimedia commons
C# integration
Remote Data & Jobs
Hive in C#
Serialization
public class SwedishSessionsJob : HadoopJob<SwedishSessionsMapper, SessionsReducer>
{
public override HadoopJobConfiguration Configure(ExecutorContext context)
{
var config = new HadoopJobConfiguration()
{
InputPath = ""/AllSessions/*.gz"",
OutputFolder = "/SwedishSessions/"
};
return config;
}
}
public class SwedishSessionsMapper : MapperBase
{
public override void Map(string inputLine, MapperContext context)
{
if (inputLine.Contains("Country=Sweden")
{
context.IncrementCounter("SwedishSession");
context.EmitKeyValue(“SE", "1");
}
}
}
public class SessionsReducer : ReducerCombinerBase
{
public override void Reduce(string key, IEnumerable<string> values, ReducerContext context)
{
context.EmitKeyValue(key, values.Count());
}
}
var inputData = "Country=Sweden&Name=Magnus";
var result =
StreamingUnit.Execute<Jobs.SwedishJob>(new[]{inputData});
Assert.AreEqual("SEt1", result.ReducerResult.First());
Your existing development team
can immediately realise value
The frameworks
facilitate
deterministic
testing for
highly reliable
queries
Complex logic is best expressed in
programmatic form
Provision
Execute
De-provision
* Tools are great but not friendly
{
"_id" : ObjectId("51fccc57f82352d76653bdae"),
"Name" : {
"FirstName" : "Owen",
"LastName" : "Grzegorek"
},
"Company" : "Howard Miller Co",
"Address" : {
"Line1" : "15410 Minnetonka Industrial Rd",
"Line2" : "Minnetonka",
"Line3" : "Hennepin",
"Line4" : "MN",
"Line5" : "55345"
},
"ContactDetails" : {
"Phone" : "952-939-2973",
"Fax" : "952-939-4663",
"Email" : "owen@grzegorek.com",
"Web" : "http://www.owengrzegorek.com"
}
}
{
"_id" : ObjectId("51fccc57f82352d76653bdae"),
"Name" : {
"FirstName" : "Owen",
"LastName" : "Grzegorek"
},
"Company" : "Howard Miller Co",
"Address" : {
"Line1" : "15410 Minnetonka Industrial Rd",
"Line2" : "Minnetonka",
"Line3" : "Hennepin",
"Line4" : "MN",
"Line5" : "55345"
},
"ContactDetails" : {
"Phone" : "952-939-2973",
"Fax" : "952-939-4663",
"Email" : "owen@grzegorek.com",
"Web" : "http://www.owengrzegorek.com"
}
}
{
"_id" : ObjectId("51fccc57f82352d76653bdae"),
"Name" : {
"FirstName" : "Owen",
"LastName" : "Grzegorek"
},
"Company" : "Howard Miller Co",
"Address" : {
"Line1" : "15410 Minnetonka Industrial Rd",
"Line2" : "Minnetonka",
"Line3" : "Hennepin",
"Line4" : "MN",
"Line5" : "55345"
},
"ContactDetails" : {
"Phone" : "952-939-2973",
"Fax" : "952-939-4663",
"Email" : "owen@grzegorek.com",
"Web" : "http://www.owengrzegorek.com"
}
}
{
"_id" : ObjectId("51fccc57f82352d76653bdae"),
"Name" : {
"FirstName" : "Owen",
"LastName" : "Grzegorek"
},
"Company" : "Howard Miller Co",
"Address" : {
"Line1" : "15410 Minnetonka Industrial Rd",
"Line2" : "Minnetonka",
"Line3" : "Hennepin",
"Line4" : "MN",
"Line5" : "55345"
},
"ContactDetails" : {
"Phone" : "952-939-2973",
"Fax" : "952-939-4663",
"Email" : "owen@grzegorek.com",
"Web" : "http://www.owengrzegorek.com"
}
}
{
"Name" : {
"FirstName" : "Owen",
"LastName" : "Grzegorek"
},
"Company" : "Howard Miller Co",
"Address" : {
"Line1" : "15410 Minnetonka Industrial Rd",
"Line2" : "Minnetonka",
"Line3" : "Hennepin",
"Line4" : "MN",
"Line5" : "55345"
},
"ContactDetails" : {
"Phone" : "952-939-2973",
"Fax" : "952-939-4663",
"Email" : "owen@grzegorek.com",
"Web" : "http://www.owengrzegorek.com"
}
}
{
"Name" : {
"FirstName" : "Owen",
"LastName" : "Grzegorek"
},
"Company" : "Howard Miller Co",
"Address" : {
"Line1" : "15410 Minnetonka Industrial Rd",
"Line2" : "Minnetonka",
"Line3" : "Hennepin",
"Line4" : "MN",
"Line5" : "55345"
},
"ContactDetails" : {
"Phone" : "952-939-2973",
"Fax" : "952-939-4663",
"Email" : "owen@grzegorek.com",
"Web" : "http://www.owengrzegorek.com"
}
}
{
"Name" : “Richard Conway",
“Books Published” : “12”,
“Specialises in” : “Data Science”
}
{
"Name" : “Andy Cross",
“Hometown" : “Blackpool“
}
{
"Name" : “Isaac Abraham",
“Age" : “33“
“Football Team” : “Tottenham”
“Icon” :
}
There are many different way to
connect with MongoDB from a
.net project.
Official
Wrapper
Alternative
Tool
public class Book
{
public string Author { get; set; }
public string Title { get; set; }
}
// "entities" is the name of the collection
var books = database.GetCollection<Entity>("books");
Book book = new Book
{
Author = "Ernest Hemingway",
Title = "For Whom the Bell Tolls"
};
books.Insert(book);
BsonDocument person = new BsonDocument {
{ "name", "John Doe" },
{ "address", new BsonDocument {
{ "street", "123 Main St." },
{ "city", "Centerville" },
{ "state", "PA" },
{ "zip", 12345}
}}
};
var people = database.GetCollection<BsonDocument>("people");
people.Insert(person);
http://www.apcjones.com/arrows/#
Open source Neo4j Client
var query = neo4Jclient.Cypher
.Start(new
{
sweden = Node.ByIndexLookup("countryIdx", "country", "sweden")
})
.Match("sweden-[:FRIENDS]->friend-[:FRIENDS]->friendoffriend")
.Return<Node<Friend>>("friendoffriend");
Info@elastacloud.com

Contenu connexe

Tendances

Peggy elasticsearch應用
Peggy elasticsearch應用Peggy elasticsearch應用
Peggy elasticsearch應用LearningTech
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashingDaeMyung Kang
 
Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...
Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...
Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...Tail Target
 
MongoDB World 2018: Using Change Streams to Keep Up with Your Data
MongoDB World 2018: Using Change Streams to Keep Up with Your DataMongoDB World 2018: Using Change Streams to Keep Up with Your Data
MongoDB World 2018: Using Change Streams to Keep Up with Your DataMongoDB
 
Weather of the Century: Visualization
Weather of the Century: VisualizationWeather of the Century: Visualization
Weather of the Century: VisualizationMongoDB
 
"Powerful Analysis with the Aggregation Pipeline (Tutorial)"
"Powerful Analysis with the Aggregation Pipeline (Tutorial)""Powerful Analysis with the Aggregation Pipeline (Tutorial)"
"Powerful Analysis with the Aggregation Pipeline (Tutorial)"MongoDB
 
The Weather of the Century
The Weather of the CenturyThe Weather of the Century
The Weather of the CenturyMongoDB
 
How to leverage what's new in MongoDB 3.6
How to leverage what's new in MongoDB 3.6How to leverage what's new in MongoDB 3.6
How to leverage what's new in MongoDB 3.6Maxime Beugnet
 
The Weather of the Century Part 3: Visualization
The Weather of the Century Part 3: VisualizationThe Weather of the Century Part 3: Visualization
The Weather of the Century Part 3: VisualizationMongoDB
 
Back to Basics Webinar 5: Introduction to the Aggregation Framework
Back to Basics Webinar 5: Introduction to the Aggregation FrameworkBack to Basics Webinar 5: Introduction to the Aggregation Framework
Back to Basics Webinar 5: Introduction to the Aggregation FrameworkMongoDB
 
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB
 
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDBETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDBMongoDB
 
MongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 Link
MongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 LinkMongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 Link
MongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 LinkMongoDB
 
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDBETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDBMongoDB
 
Text Mining of Twitter in Data Mining
Text Mining of Twitter in Data MiningText Mining of Twitter in Data Mining
Text Mining of Twitter in Data MiningMeghaj Mallick
 
Info 2402 assignment 2_ crawler
Info 2402 assignment 2_ crawlerInfo 2402 assignment 2_ crawler
Info 2402 assignment 2_ crawlerShahriar Rafee
 
When to Use MongoDB
When to Use MongoDB When to Use MongoDB
When to Use MongoDB MongoDB
 

Tendances (18)

Peggy elasticsearch應用
Peggy elasticsearch應用Peggy elasticsearch應用
Peggy elasticsearch應用
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashing
 
Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...
Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...
Big Data otimizado: Arquiteturas eficientes para construção de Pipelines MapR...
 
MongoDB World 2018: Using Change Streams to Keep Up with Your Data
MongoDB World 2018: Using Change Streams to Keep Up with Your DataMongoDB World 2018: Using Change Streams to Keep Up with Your Data
MongoDB World 2018: Using Change Streams to Keep Up with Your Data
 
Python and MongoDB
Python and MongoDB Python and MongoDB
Python and MongoDB
 
Weather of the Century: Visualization
Weather of the Century: VisualizationWeather of the Century: Visualization
Weather of the Century: Visualization
 
"Powerful Analysis with the Aggregation Pipeline (Tutorial)"
"Powerful Analysis with the Aggregation Pipeline (Tutorial)""Powerful Analysis with the Aggregation Pipeline (Tutorial)"
"Powerful Analysis with the Aggregation Pipeline (Tutorial)"
 
The Weather of the Century
The Weather of the CenturyThe Weather of the Century
The Weather of the Century
 
How to leverage what's new in MongoDB 3.6
How to leverage what's new in MongoDB 3.6How to leverage what's new in MongoDB 3.6
How to leverage what's new in MongoDB 3.6
 
The Weather of the Century Part 3: Visualization
The Weather of the Century Part 3: VisualizationThe Weather of the Century Part 3: Visualization
The Weather of the Century Part 3: Visualization
 
Back to Basics Webinar 5: Introduction to the Aggregation Framework
Back to Basics Webinar 5: Introduction to the Aggregation FrameworkBack to Basics Webinar 5: Introduction to the Aggregation Framework
Back to Basics Webinar 5: Introduction to the Aggregation Framework
 
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB PerformanceMongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB Europe 2016 - Debugging MongoDB Performance
 
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDBETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
 
MongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 Link
MongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 LinkMongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 Link
MongoDB World 2019: Using Client Side Encryption in MongoDB 4.2 Link
 
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDBETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
 
Text Mining of Twitter in Data Mining
Text Mining of Twitter in Data MiningText Mining of Twitter in Data Mining
Text Mining of Twitter in Data Mining
 
Info 2402 assignment 2_ crawler
Info 2402 assignment 2_ crawlerInfo 2402 assignment 2_ crawler
Info 2402 assignment 2_ crawler
 
When to Use MongoDB
When to Use MongoDB When to Use MongoDB
When to Use MongoDB
 

En vedette

Windows Azure and Embedded Devices
Windows Azure and Embedded DevicesWindows Azure and Embedded Devices
Windows Azure and Embedded Devicesandyelastacloud
 
Broadcasting music from the cloud
Broadcasting music from the cloudBroadcasting music from the cloud
Broadcasting music from the cloudandyelastacloud
 
Software Business srl - Evento "Innovazione e Semplificazione"
Software Business srl - Evento "Innovazione e Semplificazione"Software Business srl - Evento "Innovazione e Semplificazione"
Software Business srl - Evento "Innovazione e Semplificazione"Software Business Srl
 

En vedette (7)

Windows Azure and Embedded Devices
Windows Azure and Embedded DevicesWindows Azure and Embedded Devices
Windows Azure and Embedded Devices
 
Geese, geeks and greeks
Geese, geeks and greeksGeese, geeks and greeks
Geese, geeks and greeks
 
Distro compute
Distro computeDistro compute
Distro compute
 
UKWAUG Hackathon
UKWAUG HackathonUKWAUG Hackathon
UKWAUG Hackathon
 
Broadcasting music from the cloud
Broadcasting music from the cloudBroadcasting music from the cloud
Broadcasting music from the cloud
 
Presentacion
Presentacion Presentacion
Presentacion
 
Software Business srl - Evento "Innovazione e Semplificazione"
Software Business srl - Evento "Innovazione e Semplificazione"Software Business srl - Evento "Innovazione e Semplificazione"
Software Business srl - Evento "Innovazione e Semplificazione"
 

Similaire à Data liberty in an age post sql - with pizazz - as presented at cloudburst

MVP Cloud OS Week Track 1 9 Sept: Data liberty
MVP Cloud OS Week Track 1 9 Sept: Data libertyMVP Cloud OS Week Track 1 9 Sept: Data liberty
MVP Cloud OS Week Track 1 9 Sept: Data libertycsmyth501
 
MVP Cloud OS Week: 9 Sept, Track 1 Data Liberty
MVP Cloud OS Week: 9 Sept, Track 1 Data LibertyMVP Cloud OS Week: 9 Sept, Track 1 Data Liberty
MVP Cloud OS Week: 9 Sept, Track 1 Data Libertycsmyth501
 
Couchbase Tutorial: Big data Open Source Systems: VLDB2018
Couchbase Tutorial: Big data Open Source Systems: VLDB2018Couchbase Tutorial: Big data Open Source Systems: VLDB2018
Couchbase Tutorial: Big data Open Source Systems: VLDB2018Keshav Murthy
 
Webinar: Data Processing and Aggregation Options
Webinar: Data Processing and Aggregation OptionsWebinar: Data Processing and Aggregation Options
Webinar: Data Processing and Aggregation OptionsMongoDB
 
Query in Couchbase. N1QL: SQL for JSON
Query in Couchbase.  N1QL: SQL for JSONQuery in Couchbase.  N1QL: SQL for JSON
Query in Couchbase. N1QL: SQL for JSONKeshav Murthy
 
Elasticsearch in 15 Minutes
Elasticsearch in 15 MinutesElasticsearch in 15 Minutes
Elasticsearch in 15 MinutesKarel Minarik
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revisedMongoDB
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessMongoDB
 
OSCON 2011 CouchApps
OSCON 2011 CouchAppsOSCON 2011 CouchApps
OSCON 2011 CouchAppsBradley Holt
 
MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...
MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...
MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...MongoDB
 
Eve - REST API for Humans™
Eve - REST API for Humans™Eve - REST API for Humans™
Eve - REST API for Humans™Nicola Iarocci
 
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2MongoDB
 
Stop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyStop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyAll Things Open
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaGuido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...confluent
 
Bringing SQL to NoSQL: Rich, Declarative Query for NoSQL
Bringing SQL to NoSQL: Rich, Declarative Query for NoSQLBringing SQL to NoSQL: Rich, Declarative Query for NoSQL
Bringing SQL to NoSQL: Rich, Declarative Query for NoSQLKeshav Murthy
 
Application Development & Database Choices: Postgres Support for non Relation...
Application Development & Database Choices: Postgres Support for non Relation...Application Development & Database Choices: Postgres Support for non Relation...
Application Development & Database Choices: Postgres Support for non Relation...EDB
 
Online | MongoDB Atlas on GCP Workshop
Online | MongoDB Atlas on GCP Workshop Online | MongoDB Atlas on GCP Workshop
Online | MongoDB Atlas on GCP Workshop Natasha Wilson
 
elasticsearch - advanced features in practice
elasticsearch - advanced features in practiceelasticsearch - advanced features in practice
elasticsearch - advanced features in practiceJano Suchal
 
Understanding N1QL Optimizer to Tune Queries
Understanding N1QL Optimizer to Tune QueriesUnderstanding N1QL Optimizer to Tune Queries
Understanding N1QL Optimizer to Tune QueriesKeshav Murthy
 

Similaire à Data liberty in an age post sql - with pizazz - as presented at cloudburst (20)

MVP Cloud OS Week Track 1 9 Sept: Data liberty
MVP Cloud OS Week Track 1 9 Sept: Data libertyMVP Cloud OS Week Track 1 9 Sept: Data liberty
MVP Cloud OS Week Track 1 9 Sept: Data liberty
 
MVP Cloud OS Week: 9 Sept, Track 1 Data Liberty
MVP Cloud OS Week: 9 Sept, Track 1 Data LibertyMVP Cloud OS Week: 9 Sept, Track 1 Data Liberty
MVP Cloud OS Week: 9 Sept, Track 1 Data Liberty
 
Couchbase Tutorial: Big data Open Source Systems: VLDB2018
Couchbase Tutorial: Big data Open Source Systems: VLDB2018Couchbase Tutorial: Big data Open Source Systems: VLDB2018
Couchbase Tutorial: Big data Open Source Systems: VLDB2018
 
Webinar: Data Processing and Aggregation Options
Webinar: Data Processing and Aggregation OptionsWebinar: Data Processing and Aggregation Options
Webinar: Data Processing and Aggregation Options
 
Query in Couchbase. N1QL: SQL for JSON
Query in Couchbase.  N1QL: SQL for JSONQuery in Couchbase.  N1QL: SQL for JSON
Query in Couchbase. N1QL: SQL for JSON
 
Elasticsearch in 15 Minutes
Elasticsearch in 15 MinutesElasticsearch in 15 Minutes
Elasticsearch in 15 Minutes
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revised
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational Awareness
 
OSCON 2011 CouchApps
OSCON 2011 CouchAppsOSCON 2011 CouchApps
OSCON 2011 CouchApps
 
MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...
MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...
MongoDB World 2019: Exploring your MongoDB Data with Pirates (R) and Snakes (...
 
Eve - REST API for Humans™
Eve - REST API for Humans™Eve - REST API for Humans™
Eve - REST API for Humans™
 
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
 
Stop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyStop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case Study
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
 
Bringing SQL to NoSQL: Rich, Declarative Query for NoSQL
Bringing SQL to NoSQL: Rich, Declarative Query for NoSQLBringing SQL to NoSQL: Rich, Declarative Query for NoSQL
Bringing SQL to NoSQL: Rich, Declarative Query for NoSQL
 
Application Development & Database Choices: Postgres Support for non Relation...
Application Development & Database Choices: Postgres Support for non Relation...Application Development & Database Choices: Postgres Support for non Relation...
Application Development & Database Choices: Postgres Support for non Relation...
 
Online | MongoDB Atlas on GCP Workshop
Online | MongoDB Atlas on GCP Workshop Online | MongoDB Atlas on GCP Workshop
Online | MongoDB Atlas on GCP Workshop
 
elasticsearch - advanced features in practice
elasticsearch - advanced features in practiceelasticsearch - advanced features in practice
elasticsearch - advanced features in practice
 
Understanding N1QL Optimizer to Tune Queries
Understanding N1QL Optimizer to Tune QueriesUnderstanding N1QL Optimizer to Tune Queries
Understanding N1QL Optimizer to Tune Queries
 

Dernier

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Data liberty in an age post sql - with pizazz - as presented at cloudburst

  • 1. Alternatives to the shackles of limited scale in data solutions Andy Cross Windows Azure MVP Elastacloud
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. IBM have been a leader in Big Data for years. Wikimedia commons
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. C# integration Remote Data & Jobs Hive in C# Serialization
  • 19. public class SwedishSessionsJob : HadoopJob<SwedishSessionsMapper, SessionsReducer> { public override HadoopJobConfiguration Configure(ExecutorContext context) { var config = new HadoopJobConfiguration() { InputPath = ""/AllSessions/*.gz"", OutputFolder = "/SwedishSessions/" }; return config; } }
  • 20. public class SwedishSessionsMapper : MapperBase { public override void Map(string inputLine, MapperContext context) { if (inputLine.Contains("Country=Sweden") { context.IncrementCounter("SwedishSession"); context.EmitKeyValue(“SE", "1"); } } }
  • 21. public class SessionsReducer : ReducerCombinerBase { public override void Reduce(string key, IEnumerable<string> values, ReducerContext context) { context.EmitKeyValue(key, values.Count()); } }
  • 22. var inputData = "Country=Sweden&Name=Magnus"; var result = StreamingUnit.Execute<Jobs.SwedishJob>(new[]{inputData}); Assert.AreEqual("SEt1", result.ReducerResult.First());
  • 23. Your existing development team can immediately realise value The frameworks facilitate deterministic testing for highly reliable queries Complex logic is best expressed in programmatic form
  • 25. * Tools are great but not friendly
  • 26.
  • 27. { "_id" : ObjectId("51fccc57f82352d76653bdae"), "Name" : { "FirstName" : "Owen", "LastName" : "Grzegorek" }, "Company" : "Howard Miller Co", "Address" : { "Line1" : "15410 Minnetonka Industrial Rd", "Line2" : "Minnetonka", "Line3" : "Hennepin", "Line4" : "MN", "Line5" : "55345" }, "ContactDetails" : { "Phone" : "952-939-2973", "Fax" : "952-939-4663", "Email" : "owen@grzegorek.com", "Web" : "http://www.owengrzegorek.com" } } { "_id" : ObjectId("51fccc57f82352d76653bdae"), "Name" : { "FirstName" : "Owen", "LastName" : "Grzegorek" }, "Company" : "Howard Miller Co", "Address" : { "Line1" : "15410 Minnetonka Industrial Rd", "Line2" : "Minnetonka", "Line3" : "Hennepin", "Line4" : "MN", "Line5" : "55345" }, "ContactDetails" : { "Phone" : "952-939-2973", "Fax" : "952-939-4663", "Email" : "owen@grzegorek.com", "Web" : "http://www.owengrzegorek.com" } } { "_id" : ObjectId("51fccc57f82352d76653bdae"), "Name" : { "FirstName" : "Owen", "LastName" : "Grzegorek" }, "Company" : "Howard Miller Co", "Address" : { "Line1" : "15410 Minnetonka Industrial Rd", "Line2" : "Minnetonka", "Line3" : "Hennepin", "Line4" : "MN", "Line5" : "55345" }, "ContactDetails" : { "Phone" : "952-939-2973", "Fax" : "952-939-4663", "Email" : "owen@grzegorek.com", "Web" : "http://www.owengrzegorek.com" } } { "_id" : ObjectId("51fccc57f82352d76653bdae"), "Name" : { "FirstName" : "Owen", "LastName" : "Grzegorek" }, "Company" : "Howard Miller Co", "Address" : { "Line1" : "15410 Minnetonka Industrial Rd", "Line2" : "Minnetonka", "Line3" : "Hennepin", "Line4" : "MN", "Line5" : "55345" }, "ContactDetails" : { "Phone" : "952-939-2973", "Fax" : "952-939-4663", "Email" : "owen@grzegorek.com", "Web" : "http://www.owengrzegorek.com" } } { "Name" : { "FirstName" : "Owen", "LastName" : "Grzegorek" }, "Company" : "Howard Miller Co", "Address" : { "Line1" : "15410 Minnetonka Industrial Rd", "Line2" : "Minnetonka", "Line3" : "Hennepin", "Line4" : "MN", "Line5" : "55345" }, "ContactDetails" : { "Phone" : "952-939-2973", "Fax" : "952-939-4663", "Email" : "owen@grzegorek.com", "Web" : "http://www.owengrzegorek.com" } } { "Name" : { "FirstName" : "Owen", "LastName" : "Grzegorek" }, "Company" : "Howard Miller Co", "Address" : { "Line1" : "15410 Minnetonka Industrial Rd", "Line2" : "Minnetonka", "Line3" : "Hennepin", "Line4" : "MN", "Line5" : "55345" }, "ContactDetails" : { "Phone" : "952-939-2973", "Fax" : "952-939-4663", "Email" : "owen@grzegorek.com", "Web" : "http://www.owengrzegorek.com" } } { "Name" : “Richard Conway", “Books Published” : “12”, “Specialises in” : “Data Science” } { "Name" : “Andy Cross", “Hometown" : “Blackpool“ } { "Name" : “Isaac Abraham", “Age" : “33“ “Football Team” : “Tottenham” “Icon” : }
  • 28.
  • 29.
  • 30.
  • 31. There are many different way to connect with MongoDB from a .net project. Official Wrapper Alternative Tool
  • 32. public class Book { public string Author { get; set; } public string Title { get; set; } } // "entities" is the name of the collection var books = database.GetCollection<Entity>("books"); Book book = new Book { Author = "Ernest Hemingway", Title = "For Whom the Bell Tolls" }; books.Insert(book);
  • 33. BsonDocument person = new BsonDocument { { "name", "John Doe" }, { "address", new BsonDocument { { "street", "123 Main St." }, { "city", "Centerville" }, { "state", "PA" }, { "zip", 12345} }} }; var people = database.GetCollection<BsonDocument>("people"); people.Insert(person);
  • 34.
  • 35.
  • 36.
  • 37.
  • 39.
  • 41. var query = neo4Jclient.Cypher .Start(new { sweden = Node.ByIndexLookup("countryIdx", "country", "sweden") }) .Match("sweden-[:FRIENDS]->friend-[:FRIENDS]->friendoffriend") .Return<Node<Friend>>("friendoffriend");
  • 42.
  • 43.

Notes de l'éditeur

  1. Slide ObjectivesUnderstand the hierarchy of Blob storageSpeaker NotesPut Blob - Creates a new blob or replaces an existing blob within a container.Get Blob - Reads or downloads a blob from the system, including its metadata and properties.Delete Blob - Deletes a blobCopy Blob - Copies a source blob to a destination blob within the same storage account.SnapShot Blob - The Snapshot Blob operation creates a read-only snapshot of a blob.Lease Blob - Establishes an exclusive one-minute write lock on a blob. To write to a locked blob, a client must provide a lease ID.Using the REST API for the Blob service, developers can create a hierarchical namespace similar to a file system. Blob names may encode a hierarchy by using a configurable path separator. For example, the blob names MyGroup/MyBlob1 and MyGroup/MyBlob2 imply a virtual level of organization for blobs. The enumeration operation for blobs supports traversing the virtual hierarchy in a manner similar to that of a file system, so that you can return a set of blobs that are organized beneath a group. For example, you can enumerate all blobs organized under MyGroup/.NotesThe Blob service provides storage for entities, such as binary files and text files. The REST API for the Blob service exposes two resources: containers and blobs. A container is a set of blobs; every blob must belong to a container. The Blob service defines two types of blobs:Block blobs, which are optimized for streaming. This type of blob is the only blob type available with versions prior to 2009-09-19.Page blobs, which are optimized for random read/write operations and which provide the ability to write to a range of bytes in a blob. Page blobs are available only with version 2009-09-19.Containers and blobs support user-defined metadata in the form of name-value pairs specified as headers on a request operation.Using the REST API for the Blob service, developers can create a hierarchical namespace similar to a file system. Blob names may encode a hierarchy by using a configurable path separator. For example, the blob names MyGroup/MyBlob1 and MyGroup/MyBlob2 imply a virtual level of organization for blobs. The enumeration operation for blobs supports traversing the virtual hierarchy in a manner similar to that of a file system, so that you can return a set of blobs that are organized beneath a group. For example, you can enumerate all blobs organized under MyGroup/.A block blob may be created in one of two ways. Block blobs less than or equal to 64 MB in size can be uploaded by calling the Put Blob operation. Block blobs larger than 64 MB must be uploaded as a set of blocks, each of which must be less than or equal to 4 MB in size. A set of successfully uploaded blocks can be assembled in a specified order into a single contiguous blob by calling Put Block List. The maximum size currently supported for a block blob is 200 GB.Page blobs are created and initialized with a maximum size with a call to Put Blob. To write content to a page blob, you call the Put Page operation. The maximum size currently supported for a page blob is 1 TB.Blobs support conditional update operations that may be useful for concurrency control and efficient uploading. Blobs can be read by calling the Get Blob operation. A client may read the entire blob, or an arbitrary range of bytes. For the Blob service API reference, see Blob Service API.
  2. Slide ObjectivesUnderstand the hierarchy of Blob storageSpeaker NotesPut Blob - Creates a new blob or replaces an existing blob within a container.Get Blob - Reads or downloads a blob from the system, including its metadata and properties.Delete Blob - Deletes a blobCopy Blob - Copies a source blob to a destination blob within the same storage account.SnapShot Blob - The Snapshot Blob operation creates a read-only snapshot of a blob.Lease Blob - Establishes an exclusive one-minute write lock on a blob. To write to a locked blob, a client must provide a lease ID.Using the REST API for the Blob service, developers can create a hierarchical namespace similar to a file system. Blob names may encode a hierarchy by using a configurable path separator. For example, the blob names MyGroup/MyBlob1 and MyGroup/MyBlob2 imply a virtual level of organization for blobs. The enumeration operation for blobs supports traversing the virtual hierarchy in a manner similar to that of a file system, so that you can return a set of blobs that are organized beneath a group. For example, you can enumerate all blobs organized under MyGroup/.NotesThe Blob service provides storage for entities, such as binary files and text files. The REST API for the Blob service exposes two resources: containers and blobs. A container is a set of blobs; every blob must belong to a container. The Blob service defines two types of blobs:Block blobs, which are optimized for streaming. This type of blob is the only blob type available with versions prior to 2009-09-19.Page blobs, which are optimized for random read/write operations and which provide the ability to write to a range of bytes in a blob. Page blobs are available only with version 2009-09-19.Containers and blobs support user-defined metadata in the form of name-value pairs specified as headers on a request operation.Using the REST API for the Blob service, developers can create a hierarchical namespace similar to a file system. Blob names may encode a hierarchy by using a configurable path separator. For example, the blob names MyGroup/MyBlob1 and MyGroup/MyBlob2 imply a virtual level of organization for blobs. The enumeration operation for blobs supports traversing the virtual hierarchy in a manner similar to that of a file system, so that you can return a set of blobs that are organized beneath a group. For example, you can enumerate all blobs organized under MyGroup/.A block blob may be created in one of two ways. Block blobs less than or equal to 64 MB in size can be uploaded by calling the Put Blob operation. Block blobs larger than 64 MB must be uploaded as a set of blocks, each of which must be less than or equal to 4 MB in size. A set of successfully uploaded blocks can be assembled in a specified order into a single contiguous blob by calling Put Block List. The maximum size currently supported for a block blob is 200 GB.Page blobs are created and initialized with a maximum size with a call to Put Blob. To write content to a page blob, you call the Put Page operation. The maximum size currently supported for a page blob is 1 TB.Blobs support conditional update operations that may be useful for concurrency control and efficient uploading. Blobs can be read by calling the Get Blob operation. A client may read the entire blob, or an arbitrary range of bytes. For the Blob service API reference, see Blob Service API.
  3. Slide ObjectivesUnderstand the hierarchy of Blob storageSpeaker NotesPut Blob - Creates a new blob or replaces an existing blob within a container.Get Blob - Reads or downloads a blob from the system, including its metadata and properties.Delete Blob - Deletes a blobCopy Blob - Copies a source blob to a destination blob within the same storage account.SnapShot Blob - The Snapshot Blob operation creates a read-only snapshot of a blob.Lease Blob - Establishes an exclusive one-minute write lock on a blob. To write to a locked blob, a client must provide a lease ID.Using the REST API for the Blob service, developers can create a hierarchical namespace similar to a file system. Blob names may encode a hierarchy by using a configurable path separator. For example, the blob names MyGroup/MyBlob1 and MyGroup/MyBlob2 imply a virtual level of organization for blobs. The enumeration operation for blobs supports traversing the virtual hierarchy in a manner similar to that of a file system, so that you can return a set of blobs that are organized beneath a group. For example, you can enumerate all blobs organized under MyGroup/.NotesThe Blob service provides storage for entities, such as binary files and text files. The REST API for the Blob service exposes two resources: containers and blobs. A container is a set of blobs; every blob must belong to a container. The Blob service defines two types of blobs:Block blobs, which are optimized for streaming. This type of blob is the only blob type available with versions prior to 2009-09-19.Page blobs, which are optimized for random read/write operations and which provide the ability to write to a range of bytes in a blob. Page blobs are available only with version 2009-09-19.Containers and blobs support user-defined metadata in the form of name-value pairs specified as headers on a request operation.Using the REST API for the Blob service, developers can create a hierarchical namespace similar to a file system. Blob names may encode a hierarchy by using a configurable path separator. For example, the blob names MyGroup/MyBlob1 and MyGroup/MyBlob2 imply a virtual level of organization for blobs. The enumeration operation for blobs supports traversing the virtual hierarchy in a manner similar to that of a file system, so that you can return a set of blobs that are organized beneath a group. For example, you can enumerate all blobs organized under MyGroup/.A block blob may be created in one of two ways. Block blobs less than or equal to 64 MB in size can be uploaded by calling the Put Blob operation. Block blobs larger than 64 MB must be uploaded as a set of blocks, each of which must be less than or equal to 4 MB in size. A set of successfully uploaded blocks can be assembled in a specified order into a single contiguous blob by calling Put Block List. The maximum size currently supported for a block blob is 200 GB.Page blobs are created and initialized with a maximum size with a call to Put Blob. To write content to a page blob, you call the Put Page operation. The maximum size currently supported for a page blob is 1 TB.Blobs support conditional update operations that may be useful for concurrency control and efficient uploading. Blobs can be read by calling the Get Blob operation. A client may read the entire blob, or an arbitrary range of bytes. For the Blob service API reference, see Blob Service API.
  4. Microsoft’s technology leadership in this area takes best of breed technology from industry and makes it enterprise ready. Furthermore, Microsoft has brought the ability to reuse existing IT skill on a new big data platform. The code for expressing this logic is has a shallow learning curve for experienced Microsoft .net developers.
  5. The “burst” provisioning of data technologies for a duration that encapsulates the uptime of a certain query alone allows for the consideration of “the commoditised query” where very well understood costs can be weighed against business benefits in a profit centre within a business – liberating the previous sunk cost of BI technology. 
  6. Relationship DB joins “Tables” of different data together to form a single picture of somethingDocument DB contains all the details of that something in a single document
  7. Familiar operational style – insert, update, delete, readsAd-hoc querying capability, in many programming languagesStandard Map Reduce modelAlso supports SQL-style Aggregation capabilities