SlideShare une entreprise Scribd logo
1  sur  33
BuzzNumbers Presentation Moving From SQL Server to MongoDB
Todays Presentation Problems faced with Social Media Monitoring/Analytics Why choose NoSQL over SQL  Why choose MongoDB NOSQL Vs SQL Schema Design Infinite scalability with commodity hardware & .NET Why we still use .NET (why not Ruby/Java/Python) Lessons Learned
NOSQL at BuzzNumbers About BuzzNumbers
About BuzzNumbers SaaSWeb Product Company Web and Social Media Analytics  Collect “big data”web content Near-Realtime data capture News, Blogs, Social Mediaetc Scraping, API’s, Feeds Analytics & Business Intelligence BI, Text, Sentiment, Locations, NLP, Machine Learning
BuzzNumbers Project Team  Nick Holmes a Court - @nickhac Brett Anderson - @brehtt Steve Casey - @stevencasey Jacinto Santamaria Chris Fulstow - @chrisfulstow Josie Kidd - @jose9
NOSQL at BuzzNumbers Problems Faced at BuzzNumbers
Problems faced at BuzzNumbers  Large and fast growing DB Tables Lots of Read/Writes from data collection 24/7  Massive Table Scans for user reports (< 3 sec SLA)  Large Joins (10+ Tables) with Nested Views  Complex Queries (Aggregates, Where’s, FullText)  FullText Search Indexes needed real-time updates   Read/Write Contention    Rapid Index fragmentation, Slow rebuilds   DB Locks occurring (with no implicit Transactions)  Blocking Transactions (both small/large tables)
Outgrew SQL Server Enterprise 2008 “Free” Software from MSFT from BizSpark  Tried everything with SQL Enterprise Significant SQL Performance Tuning   Dirty Reads (nolock), Offline Index Rebuilds Replication / Clustering / Multi-Instance  Problems  Schema changes impossible with uptime requirements DBA tasks made system unavailable for hours/days Hardware / SQL DBA got very expensive  Web users experienced annoying / unnecessary waits on blocked queries that were non-complex because of joins
BuzzNumbers NOSQL Presentation Why NOSQL over SQL
What is NOSQL  New generation of “Databases”  “Not Only SQL”  - Mostly Open Source   NOSQL Distributed database designed to deliver  Distributed “Big Data” storage  Distributed processing of queries/calculations  NOSQL Examples include Google– BigTable Yahoo -Hadoop (30k+ Nodes) Facebook - Cassandra FourSquare - MongoDB
Why NoSQL over SQL SQL  Guaranteed consistency Transactions Schemas / DataTypes Joins / Foreign Keys TSQL/PL-SQL (Views, Procs) Scale Up (hardware) Many Benefits including Ease of use Many developers skilled in SQL Trusted for decades / Proven NoSQL Eventual Consistency No Transaction Support Key/Value Data (mostly) Flat Data (no joins) Key Lookups / MapReduce / Code Scale out (distributed) Many Benefits including Performance / Scale Lower license costs Solves Web2 problems
Why NoSQL over SQL CAP Theorem  Consistency Availability Partitioning Only 2 of 3 are Possible Consistency/Availability  RDBMS Availability / Partitioning  NOSQL Consistency / Partitioning  Availability Issues (No one wants this)
BuzzNumbers NOSQL Presentation  Why MongoDB for NOSQL?
NOSQL Providers
Who uses Mongo?
Why Mongo  Proven for multiple usage scenarios High performance (eventual consistency)   Data stored in JSON (not only Key/Value) Supports Multiple Indexes (Anywhere in JSON) Easy to Install, Easy to Use(Linux/Windows) Easy to Scale for High Volume Writes (Sharding) Easy to Scale for High Volume Reads (Replica Sets) Automatic Failover and Redundancy (Replica Sets) REST Interface and Drivers for Ruby/.NET/Java/Etc Easy to Query via multiple techniques Key/Value, Mongo Query, JavaScript, MapReduce
BuzzNumbers NOSQL Presentation  Moving from SQL Schema to No-Schema
BuzzNumbers NOSQL Presentation  RDMBS Schema (Tables) Mongo Collection (JSON)
BuzzNumbers NOSQL Presentation  RDMBS Schema Mongo JSON Document
BuzzNumbers NOSQL Presentation  RDMBS Schema Mongo JSON Document One Document Per Website Per Day
BuzzNumbers NOSQL Presentation  RDMBS Schema Mongo JSON Document Pre-Aggregate SUM/COUNT/AVG Calculations using UPSERT
BuzzNumbers NOSQL Presentation  RDMBS Schema Mongo JSON Document Store Line Items with rich data as Nested Arrays . Use JavaScript or MapReduce to Query
Basic SQL vs Mongo Syntax Select * from Clients db.clients.find() Select * from Clients where clientid = 1 db.clients.find({”ClientID” :1}) Insert into clients (ClientID, Name) Values (1, “ACME”) db.clients.ìnsert({”ClientID” :1,”Name”:”ACME” }) Create Table / Alter Table  Just start inserting db.client.insert({JSON HERE}) Create Index db.clients.ensureIndex({“ClientID”:1, “Name”:1})
Basic SQL vs Mongo Syntax Select * from Clients db.clients.find() Select * from Clients where clientid = 1 db.clients.find({”ClientID” :1}) Insert into clients (ClientID, Name) Values (“ACME”, 1) db.clients.ìnsert({”ClientID” :1,”Name”:”ACME” }) Create Table  Just start inserting Create Index db.clients.ensureIndex({“ClientID”:1, “Name”:1})
BuzzNumbers NOSQL Presentation  Infinite Scale with .NET and NOSQL
Infinite Scale with .NET  Use .NET for Rapid Product Development  Web Applications (IIS, ASP.NET, User Databases)  Server Applications (Scraping, Apps, Services, Data) Scheduled Tasks / Backend Jobs  Use Open Source for Infinite Scale on Linux MongoDB for Big Data Storage   SOLR (distributed Lucene) for Full Text Indexing .NET Drivers Available for Mongo/SOLR
Infinite Scale with .NET  Cloud Hosting for Low Cost Scale  Rackspace Cloud ($200 p/m per 4GB-RAM server)  Windows and Ubuntu – Image/Clone/API support Zabbix Monitoring – notify when near capacity  Amazon/Heroku/dotCloud alternates  Tips to deliver fantastic performance at scale  Indexes MUST fit in RAM (Disk Reads are Slow) SSD’s HardDisks are worth the extra price 4GB RAM / 160GB Disk seems to be optimum price/performance per node in distributed system
BuzzNumbers NOSQL Presentation  Why we stay with .NET?
Why we stay with .NET  Visual Studio best IDE!!! SQL Server great database for most Data  Proven Tech Stack (low corporate risk)    Lots of support (MSFT and Consultants)  Large online community with code samples  Many Open Source libraries   ASP.NET MVC RAZOR is RAD Non-Complex Sysadmin for Windows Servers  Drivers/Integration available for most OSS Projects  Lots of Agile/Scrum/TDD/CI/Project Management tools  Lots of smart .NET web developers & engineers
BuzzNumbers NOSQL Presentation  Lessons Learned
Lessons Learned “Big Data” is not 100M records: but 1BN+  Don’t scale until you need to (Premature optimisation costs - big time) SQL RBDMS solves most problems but Scale up costs are prohibitive for startups so plan in advance when you might need to switch Mixing SQL for SmallData and NOSQL for BigData delivers both ease/speed of development and performance Mongo/SOLR works well to solve specific performance problems  Not all problems are equal: optimiseeach solution per performance problem Don’t go NOSQL unless you absolutely need to Very early technology with lots of learning overhead, risks and production issues Skilled .NET/Mongo/SOLR engineers are very  hard to find If client/data segmentation is possible, multiple SQL instances can deliver Ensure Indexes fit in Memory Spend time planning your schema in advances based on query requirements
BuzzNumbers NOSQL Presentation  Interested to learn more?
Thanks for your time  Speak with one of the Buzz Team tonight  Join our Team? We’re Hiring! Web Developers Software Engineers UX / Web Designers Immediate and Future roles… Talk to us!

Contenu connexe

Tendances

Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Spark Summit
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMongoDB
 
Delta from a Data Engineer's Perspective
Delta from a Data Engineer's PerspectiveDelta from a Data Engineer's Perspective
Delta from a Data Engineer's PerspectiveDatabricks
 
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech TalksMigrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech TalksAmazon Web Services
 
Zero to 60 with Azure Cosmos DB
Zero to 60 with Azure Cosmos DBZero to 60 with Azure Cosmos DB
Zero to 60 with Azure Cosmos DBAdnan Hashmi
 
MongoDB Best Practices
MongoDB Best PracticesMongoDB Best Practices
MongoDB Best PracticesLewis Lin 🦊
 
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...Andrew Lamb
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 
Hive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHortonworks
 
Elasticsearch V/s Relational Database
Elasticsearch V/s Relational DatabaseElasticsearch V/s Relational Database
Elasticsearch V/s Relational DatabaseRicha Budhraja
 
Common MongoDB Use Cases
Common MongoDB Use Cases Common MongoDB Use Cases
Common MongoDB Use Cases MongoDB
 
Introduction to Apache Kudu
Introduction to Apache KuduIntroduction to Apache Kudu
Introduction to Apache KuduJeff Holoman
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseNAVER Engineering
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuningJugal Shah
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereEugene Hanikblum
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsAlluxio, Inc.
 

Tendances (20)

Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Delta from a Data Engineer's Perspective
Delta from a Data Engineer's PerspectiveDelta from a Data Engineer's Perspective
Delta from a Data Engineer's Perspective
 
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech TalksMigrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
 
Zero to 60 with Azure Cosmos DB
Zero to 60 with Azure Cosmos DBZero to 60 with Azure Cosmos DB
Zero to 60 with Azure Cosmos DB
 
MongoDB Best Practices
MongoDB Best PracticesMongoDB Best Practices
MongoDB Best Practices
 
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
2022-06-23 Apache Arrow and DataFusion_ Changing the Game for implementing Da...
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Hive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it final
 
Elasticsearch V/s Relational Database
Elasticsearch V/s Relational DatabaseElasticsearch V/s Relational Database
Elasticsearch V/s Relational Database
 
Performance tuning in sql server
Performance tuning in sql serverPerformance tuning in sql server
Performance tuning in sql server
 
Common MongoDB Use Cases
Common MongoDB Use Cases Common MongoDB Use Cases
Common MongoDB Use Cases
 
Introduction to Apache Kudu
Introduction to Apache KuduIntroduction to Apache Kudu
Introduction to Apache Kudu
 
SQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouseSQream DB, GPU-accelerated data warehouse
SQream DB, GPU-accelerated data warehouse
 
Data engineering
Data engineeringData engineering
Data engineering
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
 
NoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and WhereNoSQL Graph Databases - Why, When and Where
NoSQL Graph Databases - Why, When and Where
 
Apache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic DatasetsApache Iceberg - A Table Format for Hige Analytic Datasets
Apache Iceberg - A Table Format for Hige Analytic Datasets
 
Big data on aws
Big data on awsBig data on aws
Big data on aws
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 

En vedette

Transitioning from SQL to MongoDB
Transitioning from SQL to MongoDBTransitioning from SQL to MongoDB
Transitioning from SQL to MongoDBMongoDB
 
Migration from SQL to MongoDB - A Case Study at TheKnot.com
Migration from SQL to MongoDB - A Case Study at TheKnot.com Migration from SQL to MongoDB - A Case Study at TheKnot.com
Migration from SQL to MongoDB - A Case Study at TheKnot.com MongoDB
 
Scala with mongodb
Scala with mongodbScala with mongodb
Scala with mongodbKnoldus Inc.
 
Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo
Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo  Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo
Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo dan_tamas
 
Speed up your apps by Dan Tamas TiConf 2013
Speed up your apps by Dan Tamas TiConf 2013Speed up your apps by Dan Tamas TiConf 2013
Speed up your apps by Dan Tamas TiConf 2013dan_tamas
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsMongoDB
 
MongoDB Days UK: Using MongoDB and Python for Data Analysis Pipelines
MongoDB Days UK: Using MongoDB and Python for Data Analysis PipelinesMongoDB Days UK: Using MongoDB and Python for Data Analysis Pipelines
MongoDB Days UK: Using MongoDB and Python for Data Analysis PipelinesMongoDB
 
İlişkisel Veritabanı Sistemleri ve NoSQL
İlişkisel Veritabanı Sistemleri ve NoSQLİlişkisel Veritabanı Sistemleri ve NoSQL
İlişkisel Veritabanı Sistemleri ve NoSQLMurat Azimli
 
MongoDB Aggregations Indexing and Profiling
MongoDB Aggregations Indexing and ProfilingMongoDB Aggregations Indexing and Profiling
MongoDB Aggregations Indexing and ProfilingManish Kapoor
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDBMongoDB
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Data visualization in python/Django
Data visualization in python/DjangoData visualization in python/Django
Data visualization in python/Djangokenluck2001
 
Indexing and Query Optimizer (Richard Kreuter)
Indexing and Query Optimizer (Richard Kreuter)Indexing and Query Optimizer (Richard Kreuter)
Indexing and Query Optimizer (Richard Kreuter)MongoDB
 
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...Amazon Web Services
 

En vedette (20)

Transitioning from SQL to MongoDB
Transitioning from SQL to MongoDBTransitioning from SQL to MongoDB
Transitioning from SQL to MongoDB
 
Migration from SQL to MongoDB - A Case Study at TheKnot.com
Migration from SQL to MongoDB - A Case Study at TheKnot.com Migration from SQL to MongoDB - A Case Study at TheKnot.com
Migration from SQL to MongoDB - A Case Study at TheKnot.com
 
Scala with mongodb
Scala with mongodbScala with mongodb
Scala with mongodb
 
Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo
Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo  Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo
Introduccion en Titanium Appcelerator - Dan Tamas Betabeers Oviedo
 
Speed up your apps by Dan Tamas TiConf 2013
Speed up your apps by Dan Tamas TiConf 2013Speed up your apps by Dan Tamas TiConf 2013
Speed up your apps by Dan Tamas TiConf 2013
 
MongoDB
MongoDBMongoDB
MongoDB
 
Gizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatternsGizli Tehlike : AntiPatterns
Gizli Tehlike : AntiPatterns
 
NoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı BakışıylaNoSQL - Yazılımcı Bakışıyla
NoSQL - Yazılımcı Bakışıyla
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSs
 
MongoDB Days UK: Using MongoDB and Python for Data Analysis Pipelines
MongoDB Days UK: Using MongoDB and Python for Data Analysis PipelinesMongoDB Days UK: Using MongoDB and Python for Data Analysis Pipelines
MongoDB Days UK: Using MongoDB and Python for Data Analysis Pipelines
 
İlişkisel Veritabanı Sistemleri ve NoSQL
İlişkisel Veritabanı Sistemleri ve NoSQLİlişkisel Veritabanı Sistemleri ve NoSQL
İlişkisel Veritabanı Sistemleri ve NoSQL
 
MongoDB Aggregations Indexing and Profiling
MongoDB Aggregations Indexing and ProfilingMongoDB Aggregations Indexing and Profiling
MongoDB Aggregations Indexing and Profiling
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDB
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Data visualization in python/Django
Data visualization in python/DjangoData visualization in python/Django
Data visualization in python/Django
 
Indexing and Query Optimizer (Richard Kreuter)
Indexing and Query Optimizer (Richard Kreuter)Indexing and Query Optimizer (Richard Kreuter)
Indexing and Query Optimizer (Richard Kreuter)
 
Indexing
IndexingIndexing
Indexing
 
MongoDB Workshop
MongoDB WorkshopMongoDB Workshop
MongoDB Workshop
 
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved fr...
 

Similaire à Moving from SQL Server to MongoDB

Introduction to PolyBase
Introduction to PolyBaseIntroduction to PolyBase
Introduction to PolyBaseJames Serra
 
If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.Lukas Smith
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Miningllangit
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosGeorge Grammatikos
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)James Serra
 
SQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBSQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBMarco Segato
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simplellangit
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?Venu Anuganti
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileRoy Kim
 
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...jaxconf
 
Introduction to NoSQL Database
Introduction to NoSQL DatabaseIntroduction to NoSQL Database
Introduction to NoSQL DatabaseMohammad Alghanem
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBill Wilder
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
MinneBar 2013 - Scaling with Cassandra
MinneBar 2013 - Scaling with CassandraMinneBar 2013 - Scaling with Cassandra
MinneBar 2013 - Scaling with CassandraJeff Smoley
 
Making your RDBMS fast!
Making your RDBMS fast! Making your RDBMS fast!
Making your RDBMS fast! VictorSzoltysek
 
JS App Architecture
JS App ArchitectureJS App Architecture
JS App ArchitectureCorey Butler
 

Similaire à Moving from SQL Server to MongoDB (20)

Introduction to PolyBase
Introduction to PolyBaseIntroduction to PolyBase
Introduction to PolyBase
 
If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
NoSQL
NoSQLNoSQL
NoSQL
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
SQL Server 2008 Data Mining
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George Grammatikos
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
 
SQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBSQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDB
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simple
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI Mobile
 
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...Considerations for using NoSQL technology on your next IT project - Akmal Cha...
Considerations for using NoSQL technology on your next IT project - Akmal Cha...
 
Introduction to NoSQL Database
Introduction to NoSQL DatabaseIntroduction to NoSQL Database
Introduction to NoSQL Database
 
Building Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows AzureBuilding Cloud-Native Applications with Microsoft Windows Azure
Building Cloud-Native Applications with Microsoft Windows Azure
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
MinneBar 2013 - Scaling with Cassandra
MinneBar 2013 - Scaling with CassandraMinneBar 2013 - Scaling with Cassandra
MinneBar 2013 - Scaling with Cassandra
 
Making your RDBMS fast!
Making your RDBMS fast! Making your RDBMS fast!
Making your RDBMS fast!
 
It ready dw_day3_rev00
It ready dw_day3_rev00It ready dw_day3_rev00
It ready dw_day3_rev00
 
JS App Architecture
JS App ArchitectureJS App Architecture
JS App Architecture
 

Plus de Nick Court

GoodCall - Getting to your first 100k MRR with Outbound Sales
GoodCall - Getting to your first 100k MRR with Outbound SalesGoodCall - Getting to your first 100k MRR with Outbound Sales
GoodCall - Getting to your first 100k MRR with Outbound SalesNick Court
 
BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)
BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)
BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)Nick Court
 
Web 3.0 and The Future of Social Media - BuzzNumbers Presentation
Web 3.0 and The Future of Social Media - BuzzNumbers PresentationWeb 3.0 and The Future of Social Media - BuzzNumbers Presentation
Web 3.0 and The Future of Social Media - BuzzNumbers PresentationNick Court
 
BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)
BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)
BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)Nick Court
 
Why Social Media matters to Professional Services
Why Social Media matters to Professional ServicesWhy Social Media matters to Professional Services
Why Social Media matters to Professional ServicesNick Court
 
Buzz Numbers Actionable Business Intelligence From Online Conversations
Buzz Numbers   Actionable Business Intelligence From Online ConversationsBuzz Numbers   Actionable Business Intelligence From Online Conversations
Buzz Numbers Actionable Business Intelligence From Online ConversationsNick Court
 
Buzz Numbers Mumbrella Presentation
Buzz Numbers Mumbrella PresentationBuzz Numbers Mumbrella Presentation
Buzz Numbers Mumbrella PresentationNick Court
 
How Social Networks are changing consumer behavior
How Social Networks are changing consumer behaviorHow Social Networks are changing consumer behavior
How Social Networks are changing consumer behaviorNick Court
 

Plus de Nick Court (8)

GoodCall - Getting to your first 100k MRR with Outbound Sales
GoodCall - Getting to your first 100k MRR with Outbound SalesGoodCall - Getting to your first 100k MRR with Outbound Sales
GoodCall - Getting to your first 100k MRR with Outbound Sales
 
BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)
BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)
BuzzNumbers @ Accelerating Asia Summit (Singapore Dec 2010)
 
Web 3.0 and The Future of Social Media - BuzzNumbers Presentation
Web 3.0 and The Future of Social Media - BuzzNumbers PresentationWeb 3.0 and The Future of Social Media - BuzzNumbers Presentation
Web 3.0 and The Future of Social Media - BuzzNumbers Presentation
 
BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)
BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)
BuzzNumbers - Where are the crowds online? (New Media Summit Presentation)
 
Why Social Media matters to Professional Services
Why Social Media matters to Professional ServicesWhy Social Media matters to Professional Services
Why Social Media matters to Professional Services
 
Buzz Numbers Actionable Business Intelligence From Online Conversations
Buzz Numbers   Actionable Business Intelligence From Online ConversationsBuzz Numbers   Actionable Business Intelligence From Online Conversations
Buzz Numbers Actionable Business Intelligence From Online Conversations
 
Buzz Numbers Mumbrella Presentation
Buzz Numbers Mumbrella PresentationBuzz Numbers Mumbrella Presentation
Buzz Numbers Mumbrella Presentation
 
How Social Networks are changing consumer behavior
How Social Networks are changing consumer behaviorHow Social Networks are changing consumer behavior
How Social Networks are changing consumer behavior
 

Dernier

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Dernier (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Moving from SQL Server to MongoDB

  • 1. BuzzNumbers Presentation Moving From SQL Server to MongoDB
  • 2. Todays Presentation Problems faced with Social Media Monitoring/Analytics Why choose NoSQL over SQL Why choose MongoDB NOSQL Vs SQL Schema Design Infinite scalability with commodity hardware & .NET Why we still use .NET (why not Ruby/Java/Python) Lessons Learned
  • 3. NOSQL at BuzzNumbers About BuzzNumbers
  • 4. About BuzzNumbers SaaSWeb Product Company Web and Social Media Analytics Collect “big data”web content Near-Realtime data capture News, Blogs, Social Mediaetc Scraping, API’s, Feeds Analytics & Business Intelligence BI, Text, Sentiment, Locations, NLP, Machine Learning
  • 5. BuzzNumbers Project Team Nick Holmes a Court - @nickhac Brett Anderson - @brehtt Steve Casey - @stevencasey Jacinto Santamaria Chris Fulstow - @chrisfulstow Josie Kidd - @jose9
  • 6. NOSQL at BuzzNumbers Problems Faced at BuzzNumbers
  • 7. Problems faced at BuzzNumbers Large and fast growing DB Tables Lots of Read/Writes from data collection 24/7 Massive Table Scans for user reports (< 3 sec SLA) Large Joins (10+ Tables) with Nested Views Complex Queries (Aggregates, Where’s, FullText) FullText Search Indexes needed real-time updates Read/Write Contention Rapid Index fragmentation, Slow rebuilds DB Locks occurring (with no implicit Transactions) Blocking Transactions (both small/large tables)
  • 8. Outgrew SQL Server Enterprise 2008 “Free” Software from MSFT from BizSpark Tried everything with SQL Enterprise Significant SQL Performance Tuning Dirty Reads (nolock), Offline Index Rebuilds Replication / Clustering / Multi-Instance Problems Schema changes impossible with uptime requirements DBA tasks made system unavailable for hours/days Hardware / SQL DBA got very expensive Web users experienced annoying / unnecessary waits on blocked queries that were non-complex because of joins
  • 9. BuzzNumbers NOSQL Presentation Why NOSQL over SQL
  • 10. What is NOSQL New generation of “Databases” “Not Only SQL” - Mostly Open Source NOSQL Distributed database designed to deliver Distributed “Big Data” storage Distributed processing of queries/calculations NOSQL Examples include Google– BigTable Yahoo -Hadoop (30k+ Nodes) Facebook - Cassandra FourSquare - MongoDB
  • 11. Why NoSQL over SQL SQL Guaranteed consistency Transactions Schemas / DataTypes Joins / Foreign Keys TSQL/PL-SQL (Views, Procs) Scale Up (hardware) Many Benefits including Ease of use Many developers skilled in SQL Trusted for decades / Proven NoSQL Eventual Consistency No Transaction Support Key/Value Data (mostly) Flat Data (no joins) Key Lookups / MapReduce / Code Scale out (distributed) Many Benefits including Performance / Scale Lower license costs Solves Web2 problems
  • 12. Why NoSQL over SQL CAP Theorem Consistency Availability Partitioning Only 2 of 3 are Possible Consistency/Availability RDBMS Availability / Partitioning NOSQL Consistency / Partitioning Availability Issues (No one wants this)
  • 13. BuzzNumbers NOSQL Presentation Why MongoDB for NOSQL?
  • 16. Why Mongo Proven for multiple usage scenarios High performance (eventual consistency) Data stored in JSON (not only Key/Value) Supports Multiple Indexes (Anywhere in JSON) Easy to Install, Easy to Use(Linux/Windows) Easy to Scale for High Volume Writes (Sharding) Easy to Scale for High Volume Reads (Replica Sets) Automatic Failover and Redundancy (Replica Sets) REST Interface and Drivers for Ruby/.NET/Java/Etc Easy to Query via multiple techniques Key/Value, Mongo Query, JavaScript, MapReduce
  • 17. BuzzNumbers NOSQL Presentation Moving from SQL Schema to No-Schema
  • 18. BuzzNumbers NOSQL Presentation RDMBS Schema (Tables) Mongo Collection (JSON)
  • 19. BuzzNumbers NOSQL Presentation RDMBS Schema Mongo JSON Document
  • 20. BuzzNumbers NOSQL Presentation RDMBS Schema Mongo JSON Document One Document Per Website Per Day
  • 21. BuzzNumbers NOSQL Presentation RDMBS Schema Mongo JSON Document Pre-Aggregate SUM/COUNT/AVG Calculations using UPSERT
  • 22. BuzzNumbers NOSQL Presentation RDMBS Schema Mongo JSON Document Store Line Items with rich data as Nested Arrays . Use JavaScript or MapReduce to Query
  • 23. Basic SQL vs Mongo Syntax Select * from Clients db.clients.find() Select * from Clients where clientid = 1 db.clients.find({”ClientID” :1}) Insert into clients (ClientID, Name) Values (1, “ACME”) db.clients.ìnsert({”ClientID” :1,”Name”:”ACME” }) Create Table / Alter Table Just start inserting db.client.insert({JSON HERE}) Create Index db.clients.ensureIndex({“ClientID”:1, “Name”:1})
  • 24. Basic SQL vs Mongo Syntax Select * from Clients db.clients.find() Select * from Clients where clientid = 1 db.clients.find({”ClientID” :1}) Insert into clients (ClientID, Name) Values (“ACME”, 1) db.clients.ìnsert({”ClientID” :1,”Name”:”ACME” }) Create Table Just start inserting Create Index db.clients.ensureIndex({“ClientID”:1, “Name”:1})
  • 25. BuzzNumbers NOSQL Presentation Infinite Scale with .NET and NOSQL
  • 26. Infinite Scale with .NET Use .NET for Rapid Product Development Web Applications (IIS, ASP.NET, User Databases) Server Applications (Scraping, Apps, Services, Data) Scheduled Tasks / Backend Jobs Use Open Source for Infinite Scale on Linux MongoDB for Big Data Storage SOLR (distributed Lucene) for Full Text Indexing .NET Drivers Available for Mongo/SOLR
  • 27. Infinite Scale with .NET Cloud Hosting for Low Cost Scale Rackspace Cloud ($200 p/m per 4GB-RAM server) Windows and Ubuntu – Image/Clone/API support Zabbix Monitoring – notify when near capacity Amazon/Heroku/dotCloud alternates Tips to deliver fantastic performance at scale Indexes MUST fit in RAM (Disk Reads are Slow) SSD’s HardDisks are worth the extra price 4GB RAM / 160GB Disk seems to be optimum price/performance per node in distributed system
  • 28. BuzzNumbers NOSQL Presentation Why we stay with .NET?
  • 29. Why we stay with .NET Visual Studio best IDE!!! SQL Server great database for most Data Proven Tech Stack (low corporate risk) Lots of support (MSFT and Consultants) Large online community with code samples Many Open Source libraries ASP.NET MVC RAZOR is RAD Non-Complex Sysadmin for Windows Servers Drivers/Integration available for most OSS Projects Lots of Agile/Scrum/TDD/CI/Project Management tools Lots of smart .NET web developers & engineers
  • 31. Lessons Learned “Big Data” is not 100M records: but 1BN+ Don’t scale until you need to (Premature optimisation costs - big time) SQL RBDMS solves most problems but Scale up costs are prohibitive for startups so plan in advance when you might need to switch Mixing SQL for SmallData and NOSQL for BigData delivers both ease/speed of development and performance Mongo/SOLR works well to solve specific performance problems Not all problems are equal: optimiseeach solution per performance problem Don’t go NOSQL unless you absolutely need to Very early technology with lots of learning overhead, risks and production issues Skilled .NET/Mongo/SOLR engineers are very hard to find If client/data segmentation is possible, multiple SQL instances can deliver Ensure Indexes fit in Memory Spend time planning your schema in advances based on query requirements
  • 32. BuzzNumbers NOSQL Presentation Interested to learn more?
  • 33. Thanks for your time Speak with one of the Buzz Team tonight Join our Team? We’re Hiring! Web Developers Software Engineers UX / Web Designers Immediate and Future roles… Talk to us!

Notes de l'éditeur

  1. {&quot;WebsiteID&quot;: 12345,&quot;DomainName&quot;:&quot;buzznumbershq.com&quot;,&quot;DateSummary&quot;: &quot;2011-09-22&quot;,&quot;UserIDSummary&quot;:[1,2,3,4,5,6,7,8]&quot;PageVisitSummary&quot;:{ &quot;Home&quot;: [&quot;VisitCount&quot;: 20000, &quot;Uniques&quot;:55], &quot;About&quot;: [&quot;VisitCount&quot;: 1667, &quot;Uniques&quot;:44], &quot;Products&quot;: [&quot;VisitCount&quot;: 1223, &quot;Uniques&quot;:33], &quot;Contact&quot;: [&quot;VisitCount&quot;: 50, &quot;Uniques&quot;:22]},&quot;PageVisits&quot;:{ &quot;PageVisit&quot;: [&quot;UserID&quot;:1, &quot;PageName&quot;:&quot;Home&quot;], &quot;PageVisit&quot;: [&quot;UserID&quot;:2, &quot;PageName&quot;:&quot;About&quot;], &quot;PageVisit&quot;: [&quot;UserID&quot;:3, &quot;PageName&quot;:&quot;Products&quot;], &quot;PageVisit&quot;: [&quot;UserID&quot;:4, &quot;PageName&quot;:&quot;Contact&quot;],etcetc } } Proven Tech Stack (low risk) Lots of smart web developers/engineers Visual Studio best IDE by Miles Lots of support (MSFT and Consultants) Large online community with code samples Many Open Source libraries ASP.NET MVC RAZOR is RAD Low levels of SysAdmin Drivers/Integration available for most OSS Lots of Agile/Scrum/TDD/CI/Project Management tools