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

Living on the edge
Living on the edgeLiving on the edge
Living on the edgeAdrian Cole
 
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.pdfmikael329498
 
Active Directory Fundamentals
Active Directory FundamentalsActive Directory Fundamentals
Active Directory FundamentalsAngie Miller
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingAraf Karsh Hamid
 
Getting started with MariaDB with Docker
Getting started with MariaDB with DockerGetting started with MariaDB with Docker
Getting started with MariaDB with DockerMariaDB plc
 
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 2011Henrik Ingo
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperK.Mohamed Faizal
 
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...mfrancis
 
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®)confluent
 
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 approachScaleway
 
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)Yen-Kuan Wu
 
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...javier ramirez
 
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 RedshiftAmazon Web Services
 
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]APNIC
 
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...SQLExpert.pl
 

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.

Vacation Traveler Insights
Vacation Traveler InsightsVacation Traveler Insights
Vacation Traveler InsightsNeustar, Inc.
 
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 experienceNeustar, Inc.
 
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 & MillennialsNeustar, Inc.
 
Trends Shaping Local Search in 2014
Trends Shaping Local Search in 2014Trends Shaping Local Search in 2014
Trends Shaping Local Search in 2014Neustar, Inc.
 
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..Neustar, Inc.
 
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 LearnedNeustar, Inc.
 
How To Trust The Cloud
How To Trust The CloudHow To Trust The Cloud
How To Trust The CloudNeustar, Inc.
 
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 TopicsNeustar, 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

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxEasyPrinterHelp
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024TopCSSGallery
 

Recently uploaded (20)

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 

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