SlideShare a Scribd company logo
1 of 17
Neustar Cassandra Experience




11/30/11
Chirag Patel
    © Neustar, Inc. / Proprietary and Confidential
Who is Neustar?




2   © Neustar, Inc. / Proprietary and Confidential
UltraDNS Overview

» Cloud based DNS Services
  »   Managed External DNS
      »   Basic DNS
      »   Traffic Management Services
  » UltraDDI - Managed Internal DNS, DHCP & IPAM
  » Ultra Internet Gateway – Recursive DNS
  » SiteProtect – DDOS Mitigation Service
Existing design
» External applications inject DNS data
  » UI / SOAP-API / AXFR / IXFR
  » Millions of record changes per day
» Oracle as persistent store
  » Millions of zones
  » Hundreds of Millions of records
» Oracle replicates this data into our DNS Server nodes
  »   15 nodes globally distributed
» DNS Server answers DNS queries
  »   17 Billion queries per day
Existing design
                          Injecting Applications




                        Oracle Master Databases




  Oracle Replicate   Oracle Replicate              Oracle Replicate
     Database           Database                      Database




    DNS Server         DNS Server                    DNS Server
DNSSEC Requirements
» What is DNSSEC?
    »   IETF specifications for securing DNS information
    »   Authentication of DNS answers
»   Support for adding DNS Security into existing infrastructure
»   Typical record increase of 8x per zone
»   Support for versioning existing and new DNS data
»   Support for storing DNS data before signing
»   DNSSEC &non-DNSSEC injecting applications
»   DNS Server will still read data from Oracle
»   Separate Beta environment for DNSSEC
Why Cassandra?
» Write optimized
» Eventually consistent
» Highly scalable
» Highly available even with heavy write loads
» Easy to understand data model
» Excellent high level, easy to use client libraries available
  (hector, pycassa)
» Lot of resources available online
    »   Mailing list, incl. Jonathan Ellis are extremely responsive
Migration to Cassandra
                         Injecting Applications




 Signer           Cassandra Cluster               Oracle Master Databases




          Oracle Replicate   Oracle Replicate           Oracle Replicate
             Database           Database                   Database


                                                             DNS
                                    DNS
            DNS Server                                      Server
                                   Server
                                                            Node N
Proof of Concept
»   Consulting from Riptano (Now DataStax)
»   2 day data design brain storming
»   Used Cassandra v0.7
»   Used Hector Cassandra client v0.7
Cassandra Data Design
           Zone Indexes                          Zone

 Account     Index      Zone         Zone       Zone     Serialize
 ID          Key        Name         Name       VID      d Zone



           Record Indexes                ZoneVersion
 Zone_RTy     Index     Record       Zone   Zone
 pe           Key       ID           Name   VID



              Record                     ZoneRecordChanges

 Zone        RecordID   Serialized   Zone VID   Record     Change
 Name                   Record                  ID         Type
Searching Example
           Zone Indexes                                  Zone
                                           google.com    V2     <Zone Data V2>
 1   Type_Primary_google.c   google.com.
     om                                                  V1     <Zone Data V1>
     Type_Primary_yahoo.c    yahoo.com     yahoo.com     V2     <Zone Data V2>
     om
                                                         V1     <Zone Data V1>


          Record Indexes                                 Record
 Yahoo.com._   Name_a1_R2          R2
 A                                          Yahoo.com   R2           <R2 Data>
               Name_a3_R3          R3
                                                        R3           <R3 Data>
               TTL_0086400_R2      R2
               TTL_0096400_R3      R3
Versioning Example
                 Zone                                             ZoneVersion
yahoo.com        V3     <Zone Data V3>             Yahoo.com           V3       <Empty>
                 V2     <Zone Data V2>                                 V2       <Empty>
                 V1     <Zone Data V1>                                 V1       <Empty>


                                                         ZoneRecordChanges
            Record                                 V3                 R4           Add

Yahoo.com   R4              <R4 Data>                                 R2           Del

            R3              <R3 Data>              V2                 R3           Add
                                                                      R1           Del
                                                   V1                 R1           Add
                                                                      R2           Add


  Yahoo.com.            Del R4, Add   Yahoo.com.        Del R3, Add        Yahoo.com.
                        R2                              R1
  V3                                  V2                                   V2
                                           D
  R3                                  R3                                   R1
  R4                                  R2                                   R2
Performance Comparison
» Significant improvement in Write times
  » Shotgun across multiple Cassandra nodes in a datacenter
  » Insertions times went from minutes to seconds
» No wait between writes
  »   Oracle replication would choke on large inserts
Problems faced
»   Versioning
»   Indexing/Searching
»   Pagination
»   Sync issues with Oracle
»   Training QA
»   Training OPS
Lessons learned
» Difficult to sync Oracle & Cassandra together
» Versioning is difficult, need to take different approach
» Pagination might require to cache data in memory
  »   Redis or memcached
» Searching needs to be well thought of before designing
  data model
» Need to involve Operations & QA team sooner for more
  feedback
Future Plans
»   Deploy Cassandra in main production environment
»   Simplify existing data model
»   Common Interface to interact with Oracle & Cassandra
»   Use Cassandra to store smaller set of isolated data.
»   Replace Oracle fully with Cassandra in one injecting
    application
Questions?




Contact Kevin.Mahoney@neustar.biz for details

More Related Content

Similar to Neustar Cassandra Experience

SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for Developer
K.Mohamed Faizal
 
DNS: from manual records to a modern & dynamic approach
DNS: from manual records to a modern & dynamic approachDNS: from manual records to a modern & dynamic approach
DNS: from manual records to a modern & dynamic approach
Scaleway
 

Similar to Neustar Cassandra Experience (20)

Riak perf wins
Riak perf winsRiak perf wins
Riak perf wins
 
Living on the edge
Living on the edgeLiving on the edge
Living on the edge
 
RonDB, a NewSQL Feature Store for AI applications.pdf
RonDB, a NewSQL Feature Store for AI applications.pdfRonDB, a NewSQL Feature Store for AI applications.pdf
RonDB, a NewSQL Feature Store for AI applications.pdf
 
Ad fundamentals
Ad fundamentalsAd fundamentals
Ad fundamentals
 
Active Directory Fundamentals
Active Directory FundamentalsActive Directory Fundamentals
Active Directory Fundamentals
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb Sharding
 
Getting started with MariaDB with Docker
Getting started with MariaDB with DockerGetting started with MariaDB with Docker
Getting started with MariaDB with Docker
 
Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011
 
Fundamentals
FundamentalsFundamentals
Fundamentals
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for Developer
 
Apache Directory and the OSGi Service Platform - Enrique Rodriguez, PMC Membe...
Apache Directory and the OSGi Service Platform - Enrique Rodriguez, PMC Membe...Apache Directory and the OSGi Service Platform - Enrique Rodriguez, PMC Membe...
Apache Directory and the OSGi Service Platform - Enrique Rodriguez, PMC Membe...
 
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
 
DNS: from manual records to a modern & dynamic approach
DNS: from manual records to a modern & dynamic approachDNS: from manual records to a modern & dynamic approach
DNS: from manual records to a modern & dynamic approach
 
Build Dynamic DNS server from scratch in C (Part1)
Build Dynamic DNS server from scratch in C (Part1)Build Dynamic DNS server from scratch in C (Part1)
Build Dynamic DNS server from scratch in C (Part1)
 
6421 b Module-03
6421 b Module-036421 b Module-03
6421 b Module-03
 
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
Big Data analytics with Nginx, Logstash, Redis, Google Bigquery and Neo4j, ja...
 
1 technical-dns-workshop-day1
1 technical-dns-workshop-day11 technical-dns-workshop-day1
1 technical-dns-workshop-day1
 
Building Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon RedshiftBuilding Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon Redshift
 
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
 
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
 

More from Neustar, Inc.

Trends Shaping Local Search in 2014
Trends Shaping Local Search in 2014Trends Shaping Local Search in 2014
Trends Shaping Local Search in 2014
Neustar, Inc.
 

More from Neustar, Inc. (10)

Vacation Traveler Insights
Vacation Traveler InsightsVacation Traveler Insights
Vacation Traveler Insights
 
Game of Screens: Tech kingdoms creating the omni-channel experience
Game of Screens: Tech kingdoms creating the omni-channel experienceGame of Screens: Tech kingdoms creating the omni-channel experience
Game of Screens: Tech kingdoms creating the omni-channel experience
 
The Truth About Cross-Device Marketing & Millennials
The Truth About Cross-Device Marketing & MillennialsThe Truth About Cross-Device Marketing & Millennials
The Truth About Cross-Device Marketing & Millennials
 
Hi-Def Marketing
Hi-Def MarketingHi-Def Marketing
Hi-Def Marketing
 
Adweek and Neustar
Adweek and NeustarAdweek and Neustar
Adweek and Neustar
 
Trends Shaping Local Search in 2014
Trends Shaping Local Search in 2014Trends Shaping Local Search in 2014
Trends Shaping Local Search in 2014
 
What We are Learning About DNS Security: DNSSEC and Much More..
What We are Learning About DNS Security:  DNSSEC and Much More..What We are Learning About DNS Security:  DNSSEC and Much More..
What We are Learning About DNS Security: DNSSEC and Much More..
 
FOSE 2011: DNSSEC and the Government, Lessons Learned
FOSE 2011: DNSSEC and the Government, Lessons LearnedFOSE 2011: DNSSEC and the Government, Lessons Learned
FOSE 2011: DNSSEC and the Government, Lessons Learned
 
How To Trust The Cloud
How To Trust The CloudHow To Trust The Cloud
How To Trust The Cloud
 
The Future of the Internet: Open Research Topics
The Future of the Internet: Open Research TopicsThe Future of the Internet: Open Research Topics
The Future of the Internet: Open Research Topics
 

Recently uploaded

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 

Recently uploaded (20)

Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 

Neustar Cassandra Experience

  • 1. Neustar Cassandra Experience 11/30/11 Chirag Patel © Neustar, Inc. / Proprietary and Confidential
  • 2. Who is Neustar? 2 © Neustar, Inc. / Proprietary and Confidential
  • 3. UltraDNS Overview » Cloud based DNS Services » Managed External DNS » Basic DNS » Traffic Management Services » UltraDDI - Managed Internal DNS, DHCP & IPAM » Ultra Internet Gateway – Recursive DNS » SiteProtect – DDOS Mitigation Service
  • 4. Existing design » External applications inject DNS data » UI / SOAP-API / AXFR / IXFR » Millions of record changes per day » Oracle as persistent store » Millions of zones » Hundreds of Millions of records » Oracle replicates this data into our DNS Server nodes » 15 nodes globally distributed » DNS Server answers DNS queries » 17 Billion queries per day
  • 5. Existing design Injecting Applications Oracle Master Databases Oracle Replicate Oracle Replicate Oracle Replicate Database Database Database DNS Server DNS Server DNS Server
  • 6. DNSSEC Requirements » What is DNSSEC? » IETF specifications for securing DNS information » Authentication of DNS answers » Support for adding DNS Security into existing infrastructure » Typical record increase of 8x per zone » Support for versioning existing and new DNS data » Support for storing DNS data before signing » DNSSEC &non-DNSSEC injecting applications » DNS Server will still read data from Oracle » Separate Beta environment for DNSSEC
  • 7. Why Cassandra? » Write optimized » Eventually consistent » Highly scalable » Highly available even with heavy write loads » Easy to understand data model » Excellent high level, easy to use client libraries available (hector, pycassa) » Lot of resources available online » Mailing list, incl. Jonathan Ellis are extremely responsive
  • 8. Migration to Cassandra Injecting Applications Signer Cassandra Cluster Oracle Master Databases Oracle Replicate Oracle Replicate Oracle Replicate Database Database Database DNS DNS DNS Server Server Server Node N
  • 9. Proof of Concept » Consulting from Riptano (Now DataStax) » 2 day data design brain storming » Used Cassandra v0.7 » Used Hector Cassandra client v0.7
  • 10. Cassandra Data Design Zone Indexes Zone Account Index Zone Zone Zone Serialize ID Key Name Name VID d Zone Record Indexes ZoneVersion Zone_RTy Index Record Zone Zone pe Key ID Name VID Record ZoneRecordChanges Zone RecordID Serialized Zone VID Record Change Name Record ID Type
  • 11. Searching Example Zone Indexes Zone google.com V2 <Zone Data V2> 1 Type_Primary_google.c google.com. om V1 <Zone Data V1> Type_Primary_yahoo.c yahoo.com yahoo.com V2 <Zone Data V2> om V1 <Zone Data V1> Record Indexes Record Yahoo.com._ Name_a1_R2 R2 A Yahoo.com R2 <R2 Data> Name_a3_R3 R3 R3 <R3 Data> TTL_0086400_R2 R2 TTL_0096400_R3 R3
  • 12. Versioning Example Zone ZoneVersion yahoo.com V3 <Zone Data V3> Yahoo.com V3 <Empty> V2 <Zone Data V2> V2 <Empty> V1 <Zone Data V1> V1 <Empty> ZoneRecordChanges Record V3 R4 Add Yahoo.com R4 <R4 Data> R2 Del R3 <R3 Data> V2 R3 Add R1 Del V1 R1 Add R2 Add Yahoo.com. Del R4, Add Yahoo.com. Del R3, Add Yahoo.com. R2 R1 V3 V2 V2 D R3 R3 R1 R4 R2 R2
  • 13. Performance Comparison » Significant improvement in Write times » Shotgun across multiple Cassandra nodes in a datacenter » Insertions times went from minutes to seconds » No wait between writes » Oracle replication would choke on large inserts
  • 14. Problems faced » Versioning » Indexing/Searching » Pagination » Sync issues with Oracle » Training QA » Training OPS
  • 15. Lessons learned » Difficult to sync Oracle & Cassandra together » Versioning is difficult, need to take different approach » Pagination might require to cache data in memory » Redis or memcached » Searching needs to be well thought of before designing data model » Need to involve Operations & QA team sooner for more feedback
  • 16. Future Plans » Deploy Cassandra in main production environment » Simplify existing data model » Common Interface to interact with Oracle & Cassandra » Use Cassandra to store smaller set of isolated data. » Replace Oracle fully with Cassandra in one injecting application