EBOOK SQL Vs. NoSQL Vs. NewSQL - Voltactivedata

Transcription

eBOOKSQL vs. NoSQL vs. NewSQLAND WHY NoSQL (AND SQL)MOSTLY FALL SHORT FOR 5G

INTRODUCTIONToday’s communication service providers (CSPs) need fast, reliable networks capable of processingmassive amounts of complex data without going down or slowing down. It’s an especially tall task given thearrival of 5G, the rapidly growing number of devices and users, and new demands and needs around businesssupport services (BSS).The new reality is that applications, such as those enforcing telco network policies, delivering hyper-personalizedoffers, or preventing fraudulent transactions, must be able to react to data events in milliseconds in order todrive revenue or prevent revenue loss.To best serve these increasingly complex needs, CSPs need to know how to best manage their data in anever-more-crowded database environment with seemingly new categories popping up every year. The latestcategory is NewSQL, which offers very specific advantages to telcos that NoSQL and SQL databases can’tprovide, especially for real-time data processing. Today’s databases need to go through the entire datamanagement lifecycle, from ingestion to action, in 10 milliseconds or less—a feat only a NewSQL data platformcan pull off.This paper reviews the key differences between SQL, NoSQL, and NewSQL databases, and explains why NewSQLdatabases are key for telco modernization and how CSPs can best take advantage of all database technology tomodernize their networks for the age of 5G.2SQL VS. NoSQL VS. NewSQL

SQL vs. NoSQL — THE BASIC DIFFERENCESSQL“SQL” is used both as the name of a language and as a type ofdatabase. SQL is a structured query language designed for managingdata in relational database management systems (RDBMS).Relational database management systems are often called SQLdatabases since they use the SQL language. Since the mid-1980s, SQLhas been a standard for querying and managing RDBMS data sets.NoSQLNoSQL solutions emerged as a reaction to frustration with the costand inflexibility of legacy RDBMS products like Oracle and IBM DB2,which use SQL as a query language. The original NoSQL systemswere built for scale, unstructured data, and did not use relational(table-based) schema.Most early NoSQL solutions dumped SQL as a query language,although that tide has turned and proprietary SQL languages arenow offered by many of the NoSQL vendors as they discovered thatmost of their potential users were business analysts who knew andloved SQL.Implementing a data management platform that can handle “webscale” loads — millions of simultaneous users — with “engaging”performance (millisecond response times) can be difficult to do andeven more difficult to afford with existing legacy products.SQL DATABASESRelational databases continueto provide the foundation for theworld’s transactions. Think about allthe credit card transactions beinghandled by mainframes and largeUNIX servers in the data centers offinancial services companies.NoSQL DATABASESWhile a SQL database is a defined,concrete concept, NoSQL is not.There is enormous variationin technologies that fall underthe NoSQL category (thoughthey generally share somecharacteristics). Thus, NoSQL is aterm used for a broad group of datamanagement technologies whichvary in features and functionality butwhich try to solve some key issues ofSQL databases.Some NoSQL solutions, therefore, focus on consistency models, i.e.availability: the database is always available to accept new data and can always provide an answer whenqueried, even if that data is not transactionally consistent (i.e., the most recent version written). Examplesinclude DynamoDB and Cassandra.Other NoSQL databases are designed to be flexible, and focus on data models: they don’t enforce a rigid orconsistent schema across stored data. These ‘document stores’ expand upon the traditional key-value storeby replacing the values with JSON-structured documents, each able to contain sub-keys and sub-values,arrays of value, or hierarchies of all of the above. There are many document and column-oriented NoSQLdatabases, including MongoDB, HBase and Couchbase.Another class of NoSQL solutions cover products such as Lucene, Solr, and ElasticSearch that offer text anddocument indexing functions that are useful, for example, to implement real-time search as users enter terms.Finally, there are graph databases such as Neo4J, Titan, and Tagged, which organize data by relationshipsinstead of by row or document, enabling powerful traversal and graph query capabilities.3SQL VS. NoSQL VS. NewSQL

THE PROMISE OF NewSQLNewSQL is a term coined by 451 Group analyst Matt Aslett to describea new group of databases that share much of the functionality oftraditional SQL relational databases while offering some of thebenefits of NoSQL technologies.NewSQL systems offer the best of both worlds: the relationaldata model and the ACID transactional consistency of traditionaloperational databases; the familiarity and interactivity of SQLand the scalability and speed of NoSQL. Some offer strongerconsistency guarantees than those afforded by NoSQL solutions,although others limit this to ‘tunable’ consistency and thus aren’tfully ACID-compliant.Of course, there are differences among NewSQL solutions. SAPHANA handles modest transactional workloads, but withoutthe benefit of native clustering. NuoDB is a cluster-first SQLdatabase with a focus on cloud deployments, but throughput ispoor. MemSQL is useful for clustered analytics but its tunableconsistency falls down on ACID transactions. Both NuoDB andMemSQL have different types of nodes for compute and storage,so data movement and synchronization, especially aroundtransactions, can be issues for them.NewSQL vs. NoSQL FOR TELCOSNow that we have noted the basic differences, advantages, anddisadvantages, of SQL, NoSQL, and NewSQL, let’s look deeperinto the differences between NoSQL and NewSQL through thefilters of what telco industry developers and operators reallycare about:Which problems can I solve with NoSQL?Where is NoSQL a bad fit? Wheredo different approaches — NoSQLand NewSQL — show their strengths?Don’t get us wrong — NoSQL databases are great for lots ofworkloads and applications, but there are certain areas wherethe weaknesses of NoSQL are pronounced for telcos and whereNoSQL technology might not be the best choice.The following section reviews NewSQL vs. NoSQL in the four keyareas of data management for telcos: scalability, data availability,data consistency, and the ability to competently run fasttransactional applications.4SQL VS. NoSQL VS. NewSQLACID COMPLIANCEMost relational databases stronglyfollow ACID (Atomicity, Consistency,Isolation, and Durability) properties,while most NoSQL databases areBASE (Basically Available, Soft State,Eventual consistency).NewSQL databases, such as VoltDB,provide the scalability of NoSQLsystems for online transactionprocessing (OLTP) workloads whilemaintaining the ACID guarantees of atraditional database system.

SCALABILITYNoSQLWith the promise of 5G and the rapid proliferation of communication—andcommunicating—devices, telcos need to scale their data management processeslike never before.NoSQL offerings began to attract attention when they were implemented toaddress the scalability requirements of web-native companies such as Google,Facebook, and Twitter. These organizations were dealing with vast inflows ofunstructured data from myriad sources: web searches, mobile devices, userstatus updates, streams of comments.In these use cases, the most important consideration was scalability: thedatabase had to scale out massively and quickly. The relational schema andchallenge of scaling traditional SQL databases was seen as restrictive, and whencost was considered in either dollars or development effort of scaling legacyRDBMSs, using these systems was seen as prohibitive.The key feature NoSQL systems brought to the development community was theability to scale applications on inexpensive commodity hardware. If your usecase requires horizontal scale-out for unlimited data feeds, NoSQL may be theright choice, and there isn’t much difference between NewSQL and NoSQL.However, as we’ll soon explain in the sections below, NoSQL databasescompromise on almost everything else for the sake of scalability, which makesthem a serious issue for telcos if they are going to rely only on NoSQL.NewSQLWhile legacy and NoSQL relational database systems offer scaling options — atan often-significant cost — NewSQL systems were designed to address this samescalability challenge, while maintaining the transactionality and SQL-standardinteractivity of legacy RDBMSs.One example is an in-memory, massively parallel, SQL relational databasethat scales out linearly on inexpensive commodity hardware. Like NoSQLsolutions, NewSQL databases are cloud-friendly and able to scale to meet thedemands of web-scale applications. These systems should be designed for lowlatency high read/write performance, using a shared-nothing, cluster-native,cloud-friendly architecture.NewSQL databases provide high availability and fault tolerance, as well asgeographic redundancy, allowing things like telco networks to run smoothlyand enable telco operators to take full advantage of the massive amounts ofdata pouring into their systems. With a powerful, NewSQL database, you canbuild transactional, database-oriented applications against data feeds that werepreviously limited to stream processing systems.5SQL VS. NoSQL VS. NewSQL

AVAILABILITYNoSQLNoSQL systems are designed for CAP-theorem style availability, meaning thedatabase is always responsive, even in the event of network partitions.However, NoSQL systems, by design, prioritize availability over strongconsistency (i.e., always having correct, exact answers). These systems willreturn an answer, even if the answer is not the most current at that giveninstance in time.This design decision, made famous by Apache Cassandra, was based on thebelief that it is less important to be immediately correct than it is to alwaysreturn a response and/or accept new data.For many applications, eventual consistency is acceptable. However, whenyou need to make immediate decisions, or need to conduct transactions onexact answers, as telcos need to do to fight things like fraud, you will need adifferent solution.NoSQL solutions are thus a poor fit for things like:Deciding if a mobile user’s call should go throughKeeping track of (counting) and allocating finite, scarce resourcesMaking financial decisionsThese are serious considerations to take into account for any telco trying tochoose the right data platform.NewSQLNewSQL systems favor consistency over availability. A NewSQL system willreturn the same exact answer to all clients, allowing your applications to makedecisions on things like call charges, airplane seat assignments, and inventorywith the assurance that there won’t be conflicts.6SQL VS. NoSQL VS. NewSQL

CONSISTENCYNoSQLAs previously noted, NoSQL systems were architected for scalability andavailability at the expense of strong, ACID-based consistency. Thus, NoSQLsystems are a poor choice for applications or use cases where strong consistencyis required, such as billing and operations support, both of which are vital to anytelco operation.But also consider fraud: telco operators, especially in developing countries,are under considerable pressure to stamp out SIM boxing, which accounts forhundreds of millions of lost revenue every year. Solving this problem requiresaccurate counting of call pairs on a massive scale, something NoSQL databasescan’t accomplish with eventual consistency.NewSQLNewSQL systems are strongly consistent, meaning they prioritize consistencyover availability and can also provide partition tolerance. This is key for telcosand their ability to provide uninterrupted service because it means that a clusterwill continue to work despite a node-to-node communication breakdown.7SQL VS. NoSQL VS. NewSQL

Fast Transactional ApplicationsNoSQLToday’s modern, request-response style applications run at a very high volume.While NoSQL solutions often provide datastore speed, they cannot providestrongly consistent transactions at scale.Applications requiring fast, scalable transactions include:Allowing a mobile call to connect while verifying the user’s balancePlacing a trade at the best offer price resenting a mobile ad to potentially thousands of users without blowingPthrough an advertiser’s ad budgetManaging tight SLAs for telco providersDetecting a fraudulent card swipe before the transaction is approvedNoSQL databases are generally not the right choice for these types of applicationsbecause events occur millions of times a day, even millions of times per hour (oreven second) all over the world. Businesses in telco, financial services, onlinegaming, adtech and other industries need to be able to accommodate the varyingvolume and velocity of these events. They need a scalable, transactionallyconsistent solution.NewSQLACID transactions are a requirement for request-response applications — andbecause NewSQL systems are relational ACID-based databases, they supportACID transactions. Coupling scalability, strong consistency and the abilityto transact on data at scale, NewSQL systems provide the capabilities formodern applications.8SQL VS. NoSQL VS. NewSQL

BUILDING SCALABLE, MODERN APPLICATIONS WITH NewSQLBoth NoSQL and NewSQL technologies provide datastores on which highly scalable applications canbe built. NoSQL datastores are a great choice for applications where availability — getting a response— is valued more highly than getting a consistent, correct response at all times. NewSQL systems giveapplications scalability, as well, and also offer strong consistency and transactional interaction, favoringconsistency over availability in failure scenarios.While nearly all NoSQL solutions deliver scalability, VoltDB delivers on scalability and adds stronglyconsistent transactions; further, no NoSQL solution can match VoltDB’s combination of blazing speed,transactional consistency, and scalability.Of all NewSQL solutions, VoltDB is the most robust and resilient in the face of many failure scenarios.We’ve been independently validated on availability and have seen customers with production clusters withuptime measured in years.As you might expect from the above, VoltDB excels in applications or use cases where strong consistency isrequired, including: andling increasing levels of complexity in policies and charging rules in telecom BSS and networkHslicing environments Evolving from post-call fraud determination to preventing connection of fraudulent calls Presenting in-the-moment offers to telecom customers to enhance subscriber experience and ARPU Applying machine learning rules to detect and prevent network intrusions in IIoT networks Measuring, monitoring and detecting performance deterioration to avoid unplanned downtimeVoltDB is the most mature NewSQL system on the market: a cloud-ready operational database that combinesreal-time analytics on inbound data feeds with strong ACID transactions, native clustering, and Hadoopecosystem support. This allows VoltDB to be the system-of-record for data-intensive applications whileoffering an integrated high-throughput, low-latency ingestion engine. It’s a great choice for use cases wherevery high performance and predictably low latency are critical as well as where accurate counting/accountingis important, such as in policy enforcement, personalization, fraud/anomaly detection, and other requestresponse style fast-decisioning and fast data pipeline applications.Get started with VoltDB today by chatting with usabout what you want to achieve with your tech stack.CLICK HEREABOUT VoltDBVoltDB powers applications that require real-time intelligent decisions on streaming data for a connected world, without compromising on ACID requirements. No other databasecan fuel applications that require a combination of speed, scale, volume and accuracy. Architected by the 2014 A.M. Turing Award winner, Dr. Mike Stonebraker, VoltDB is aground-up redesign of the relational database for today’s growing real-time operations and machine learning challenges. Dr. Stonebraker has conducted research on databasetechnologies for more than 40 years, leading to numerous innovations in fast data, streaming data and in-memory databases. With VoltDB, he realized the full potential oftapping streaming data with in-memory transactional database technology that can handle data’s speed and volume while delivering real-time analytics and decision making.VoltDB is a trusted name in the industry already validated by leading organizations like: Nokia, Financial Times, Mitsubishi Electric, HPE, Barclays, Huawei, and more. VoltDB, Inc. 209 Burlington Road, Suite 203, Bedford, MA 01730 VOLTDB.COM9SQL VS. NoSQL VS. NewSQL

3 SQL VS. NoSQL VS. NewSQL SQL vs. NoSQL — THE BASIC DIFFERENCES SQL "SQL" is used both as the name of a language and as a type of database. SQL is a structured query language designed for managing data in relational database management systems (RDBMS). Relational database management systems are often called SQL