Associative Array Model of SQL, Nosql, and Newsql Databases

Total Page:16

File Type:pdf, Size:1020Kb

Associative Array Model of SQL, Nosql, and Newsql Databases Associative Array Model of SQL, NoSQL, and NewSQL Databases Jeremy Kepner1,2,3, Vijay Gadepally1,2, Dylan Hutchison4, Hayden Jananthan3,5, Timothy Mattson6, Siddharth Samsi1, Albert Reuther1 1MIT Lincoln Laboratory, 2MIT Computer Science & AI Laboratory, 3MIT Mathematics Department, 4University of Washington Computer Science Department, 5Vanderbilt University Mathematics Department, 6Intel Corporation Abstract—The success of SQL, NoSQL, and NewSQL databases SQL, NoSQL, and NewSQL would enable their is a reflection of their ability to provide significant functionality interoperability. Such a mathematical model is the primary and performance benefits for specific domains, such as financial goal of this paper. transactions, internet search, and data analysis. The BigDAWG polystore seeks to provide a mechanism to allow applications to transparently achieve the benefits of diverse databases while SQL Era NoSQL Era NewSQL Era Polystore Era insulating applications from the details of these databases. NoSQL Associative arrays provide a common approach to the Relational Model NewSQL mathematics found in different databases: sets (SQL), graphs [Codd 1970] [Cattell 2010] Polystore SQL (NoSQL), and matrices (NewSQL). This work presents the SQL Google BigTable relational model in terms of associative arrays and identifies the [Chang 2006] [Elmore 2015] NewSQL BigDAWG key mathematical properties that are preserved within SQL. These properties include associativity, commutativity, Figure 1. Evolution of SQL, NoSQL, NewSQL, and polystore distributivity, identities, annihilators, and inverses. Performance databases. Each class of database delivered new mathematics, measurements on distributivity and associativity show the impact functionality, and performance focused on new application areas. these properties can have on associative array operations. These results demonstrate that associative arrays could provide a SQL, NoSQL, and NewSQL databases are designed for mathematical model for polystores to optimize the exchange of specific applications, have distinct data models, and rely on data and execution queries. different underlying mathematics (see Figure 2). Because of their differences, each database has unique strengths that are Keywords-Associative Array Algebra; SQL; NoSQL; NewSQL; well suited for particular workloads. It is now recognized that Set Theory; Graph Theory; Matrices; Linear Algebra special-purpose databases can be 100x faster for a particular application than a general-purpose database [Kepner 2014]. In I. INTRODUCTION addition, the availability of high performance data analysis Relational or SQL (Structured Query Language) databases platforms, such as the MIT SuperCloud [Reuther 2013, Prout [Codd 1970, Stonebraker 1976] such as PostgreSQL, MySQL, 2015], allows high performance databases to share the same and Oracle have been the de facto interface to databases since hardware platform without sacrificing performance. the 1980s (see Figure 1) and are the bedrock of electronic transactions around the world. More recently, key-value stores (NoSQL databases) such as Google BigTable [Chang 2008], SQLSQL NoSQLNoSQL NewSQLNewSQL PolystoreFuture Apache Accumulo [Wall 2015], and MongoDB [Chodorow Example PostgreSQL Accumulo SciDB BigDAWG 2013] have been developed for representing large sparse tables Application Transactions Search Analysis All Relational Key-Value Sparse Associative to aid in the analysis of data for Internet search. As a result, the Data Model Tables Pairs Matrices Arrays majority of the data on the Internet is now analyzed using key- Set Graph Linear Associative Math value stores [DeCandia et al 2007, Lakshman & Malik 2010, Theory Theory Algebra Algebra George 2011]. In response to similar performance challenges, Consistency the relational database community has developed a new class Volume of databases (NewSQL) such as C-Store [Stonebraker 2005], Velocity H-Store [Kallman 2008], SciDB [Balazinska 2009], VoltDB Variety [Stonebraker 2013], and Graphulo [Hutchison 2015] to support Analytics new analytics capabilities within a database. The SQL, Usability NoSQL, and NewSQL concepts have also been blended in Figure 2. Focus areas of SQL, NoSQL, NewSQL, and Polystore hybrid processing systems, such as Apache Pig [Olston 2008], databases. Apache Spark [Zaharia 2010], and HaLoop [Bu 2010]. An effective mathematical model that encompasses the concepts of This material is based upon work supported by the National Science Foundation under Grant No. DMS-1312831. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. 1 The recognition of “one size does not fit all” [Stonebraker and their corresponding operations are defined in terms of & Çetintemel 2005] has led to the need for polystore databases, associative arrays. Fifth, the mathematical properties required such as BigDAWG [Duggan 2015, Elmore 2015], that can by graph algorithms and matrix mathematics are confirmed for contextualize queries and cast data between multiple databases relational operations. Finally, performance results illustrating so that a user can employ the best database for a particular task the impact of these properties are presented and discussed. (see Figure 3). To achieve this goal, polystore databases need to bridge SQL, NoSQL, and NewSQL databases. The II. RELATIONS Dynamic Distributed Dimensional Data Model (D4M) The relational model, based on set theory, is a key technology [Kepner 2012] was developed to provide a linear mathematical foundation for SQL databases. The relational algebraic interface to graphs stored in NoSQL databases [Byun model effectively consists of relational algebra, relational 2012, Kepner 2013]. Subsequently, D4M has been calculus, and the structured query language (SQL) that balance successfully used with both SQL [Wu 2014, Gadepally 2015] the theoretical, implementation, and systems design aspects of and NewSQL [Samsi 2016] databases. The effectiveness of databases. The relational model is well covered in the D4M to seamlessly interact with these diverse databases rests literature [Maier 1983, Codd 1990, Abiteboul 1995]; only the on its associative array algebra [Kepner & Chaidez 2013, most relevant aspects of the model are reviewed here. Some of Kepner & Chaidez 2014, Kepner & Jansen 2016] that provides the more significant mathematical contributions of the a mathematics that spans sets, graphs, and matrices. The relational model to databases include ability of D4M (and Myria [Halperin 2014]) to bridge multiple databases has laid the foundation for the polystore database (R1) Relations: a mathematical definition of database tables concept. sufficient for their representation without constraining their implementation; Visualizations Applications (R2) Query semantics: a mathematical definition of operations on relations sufficient for proving the correctness of BigDAWG Polystore Common Interface database queries; (R3) Proof of the equivalence of declarative and procedural Analytic Analytic Analytic syntaxes over the above definitions that has enabled the Translator Translator Translator use of declarative semantics for database users and procedural semantics for database builders [Codd 1972]. Data Data Translator Translator SQLSQL NoSQLNoSQL NewSQLNewSQL Of these results, (R3) has been enormously important, but Figure 3. BigDAWG polystore database architecture. Analytic would not be possible without (R1) and (R2). (R3) has been translators contextualize queries to specific databases. Data critical to the success of SQL databases that follow the translators cast data between databases. relational model. (R3) has enabled the successful coexistence of separate interfaces and languages for users and Mathematics is one of the most important differences implementers, with the confidence that neither would create a among SQL, NoSQL, and NewSQL databases (see Figure 4). fundamental mathematical contradiction for the other. The relational algebra found in SQL databases is based upon The relational model is based on balancing mathematical selection, union, and intersection of special sets called rigor with implementation practicality. Too much relations. NoSQL is designed for analyzing sparse mathematical rigor burdens a database implementation with relationships among data and relies on graph theory and graph unnecessary mathematics. Too little mathematical rigor makes analysis. NewSQL databases use matrices and linear algebra to it is difficult to know if a database implementation will work. look for patterns in numeric data. As with all good compromises, there have been advocates for improvement on both sides. As cited earlier, many new SQL NoSQL NewSQL databases under the names of NoSQL and NewSQL differ from Set Operations Graph Operations Matrix Operations AT! v ATv the relational model to meet new performance and analysis bob out edge in bob vertex link vertex cited demands. Likewise, there is extensive mathematical work on 001 alice cited bob carl modifications to the relational model to increase its alice à 002 bob cited alice mathematical rigor [Imieliński 1984a, Imieliński 1984b, 003 alice cited carl cited SELECT ∗ WHERE carl Kanellakis 1989, Tsalenko 1992, Plotkin 1998, Priss 2006, van out vertex=alice alice Emden 2006, Litak 2014, Hutchison 2016]. One motivation Figure 4. Mathematics of breadth-first search for SQL, NoSQL, and for increasing the mathematical rigor [Kelly 2012]
Recommended publications
  • 1 Elementary Set Theory
    1 Elementary Set Theory Notation: fg enclose a set. f1; 2; 3g = f3; 2; 2; 1; 3g because a set is not defined by order or multiplicity. f0; 2; 4;:::g = fxjx is an even natural numberg because two ways of writing a set are equivalent. ; is the empty set. x 2 A denotes x is an element of A. N = f0; 1; 2;:::g are the natural numbers. Z = f:::; −2; −1; 0; 1; 2;:::g are the integers. m Q = f n jm; n 2 Z and n 6= 0g are the rational numbers. R are the real numbers. Axiom 1.1. Axiom of Extensionality Let A; B be sets. If (8x)x 2 A iff x 2 B then A = B. Definition 1.1 (Subset). Let A; B be sets. Then A is a subset of B, written A ⊆ B iff (8x) if x 2 A then x 2 B. Theorem 1.1. If A ⊆ B and B ⊆ A then A = B. Proof. Let x be arbitrary. Because A ⊆ B if x 2 A then x 2 B Because B ⊆ A if x 2 B then x 2 A Hence, x 2 A iff x 2 B, thus A = B. Definition 1.2 (Union). Let A; B be sets. The Union A [ B of A and B is defined by x 2 A [ B if x 2 A or x 2 B. Theorem 1.2. A [ (B [ C) = (A [ B) [ C Proof. Let x be arbitrary. x 2 A [ (B [ C) iff x 2 A or x 2 B [ C iff x 2 A or (x 2 B or x 2 C) iff x 2 A or x 2 B or x 2 C iff (x 2 A or x 2 B) or x 2 C iff x 2 A [ B or x 2 C iff x 2 (A [ B) [ C Definition 1.3 (Intersection).
    [Show full text]
  • A Formalization of Logic in Diagonal-Free Cylindric Algebras Andrew John Ylvisaker Iowa State University
    Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2012 A formalization of logic in diagonal-free cylindric algebras Andrew John Ylvisaker Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Part of the Mathematics Commons Recommended Citation Ylvisaker, Andrew John, "A formalization of logic in diagonal-free cylindric algebras" (2012). Graduate Theses and Dissertations. 12536. https://lib.dr.iastate.edu/etd/12536 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. A formalization of logic in diagonal-free cylindric algebras by Andrew John Ylvisaker A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Mathematics Program of Study Committee: Roger D. Maddux, Major Professor Maria Axenovich Cliff Bergman Bill Robinson Paul Sacks Iowa State University Ames, Iowa 2012 Copyright c Andrew John Ylvisaker, 2012. All rights reserved. ii TABLE OF CONTENTS LIST OF TABLES . iii LIST OF FIGURES . iv CHAPTER 1. BACKGROUND MATERIAL . 1 1.1 Introduction . .1 1.2 First-order logic . .4 1.3 General algebra and Boolean algebras with operators . .6 1.4 Relation algebras . 11 1.5 Cylindric algebras . 17 CHAPTER 2. RELATION ALGEBRAIC REDUCTS . 21 2.1 Definitions . 21 2.2 Preliminary lemmas . 27 + 2.3 Q RA reducts in Df3 .....................................
    [Show full text]
  • Mathematics 144 Set Theory Fall 2012 Version
    MATHEMATICS 144 SET THEORY FALL 2012 VERSION Table of Contents I. General considerations.……………………………………………………………………………………………………….1 1. Overview of the course…………………………………………………………………………………………………1 2. Historical background and motivation………………………………………………………….………………4 3. Selected problems………………………………………………………………………………………………………13 I I. Basic concepts. ………………………………………………………………………………………………………………….15 1. Topics from logic…………………………………………………………………………………………………………16 2. Notation and first steps………………………………………………………………………………………………26 3. Simple examples…………………………………………………………………………………………………………30 I I I. Constructions in set theory.………………………………………………………………………………..……….34 1. Boolean algebra operations.……………………………………………………………………………………….34 2. Ordered pairs and Cartesian products……………………………………………………………………… ….40 3. Larger constructions………………………………………………………………………………………………..….42 4. A convenient assumption………………………………………………………………………………………… ….45 I V. Relations and functions ……………………………………………………………………………………………….49 1.Binary relations………………………………………………………………………………………………………… ….49 2. Partial and linear orderings……………………………..………………………………………………… ………… 56 3. Functions…………………………………………………………………………………………………………… ….…….. 61 4. Composite and inverse function.…………………………………………………………………………… …….. 70 5. Constructions involving functions ………………………………………………………………………… ……… 77 6. Order types……………………………………………………………………………………………………… …………… 80 i V. Number systems and set theory …………………………………………………………………………………. 84 1. The Natural Numbers and Integers…………………………………………………………………………….83 2. Finite induction
    [Show full text]
  • Weak Representation Theory in the Calculus of Relations Jeremy F
    Iowa State University Capstones, Theses and Retrospective Theses and Dissertations Dissertations 2006 Weak representation theory in the calculus of relations Jeremy F. Alm Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/rtd Part of the Mathematics Commons Recommended Citation Alm, Jeremy F., "Weak representation theory in the calculus of relations " (2006). Retrospective Theses and Dissertations. 1795. https://lib.dr.iastate.edu/rtd/1795 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Retrospective Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Weak representation theory in the calculus of relations by Jeremy F. Aim A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Mathematics Program of Study Committee: Roger Maddux, Major Professor Maria Axenovich Paul Sacks Jonathan Smith William Robinson Iowa State University Ames, Iowa 2006 Copyright © Jeremy F. Aim, 2006. All rights reserved. UMI Number: 3217250 INFORMATION TO USERS The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleed-through, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion.
    [Show full text]
  • Oracle Vs. Nosql Vs. Newsql Comparing Database Technology
    Oracle vs. NoSQL vs. NewSQL Comparing Database Technology John Ryan Senior Solution Architect, Snowflake Computing Table of Contents The World has Changed . 1 What’s Changed? . 2 What’s the Problem? . .. 3 Performance vs. Availability and Durability . 3 Consistecy vs. Availability . 4 Flexibility vs . Scalability . 5 ACID vs. Eventual Consistency . 6 The OLTP Database Reimagined . 7 Achieving the Impossible! . .. 8 NewSQL Database Technology . 9 VoltDB . 10 MemSQL . 11 Which Applications Need NewSQL Technology? . 12 Conclusion . 13 About the Author . 13 ii The World has Changed The world has changed massively in the past 20 years. Back in the year 2000, a few million users connected to the web using a 56k modem attached to a PC, and Amazon only sold books. Now billions of people are using to their smartphone or tablet 24x7 to buy just about everything, and they’re interacting with Facebook, Twitter and Instagram. The pace has been unstoppable . Expectations have also changed. If a web page doesn’t refresh within seconds we’re quickly frustrated, and go elsewhere. If a web site is down, we fear it’s the end of civilisation as we know it. If a major site is down, it makes global headlines. Instant gratification takes too long! — Ladawn Clare-Panton Aside: If you’re not a seasoned Database Architect, you may want to start with my previous articles on Scalability and Database Architecture. Oracle vs. NoSQL vs. NewSQL eBook 1 What’s Changed? The above leads to a few observations: • Scalability — With potentially explosive traffic growth, IT systems need to quickly grow to meet exponential numbers of transactions • High Availability — IT systems must run 24x7, and be resilient to failure.
    [Show full text]
  • A Taste of Set Theory for Philosophers
    Journal of the Indian Council of Philosophical Research, Vol. XXVII, No. 2. A Special Issue on "Logic and Philosophy Today", 143-163, 2010. Reprinted in "Logic and Philosophy Today" (edited by A. Gupta ans J.v.Benthem), College Publications vol 29, 141-162, 2011. A taste of set theory for philosophers Jouko Va¨an¨ anen¨ ∗ Department of Mathematics and Statistics University of Helsinki and Institute for Logic, Language and Computation University of Amsterdam November 17, 2010 Contents 1 Introduction 1 2 Elementary set theory 2 3 Cardinal and ordinal numbers 3 3.1 Equipollence . 4 3.2 Countable sets . 6 3.3 Ordinals . 7 3.4 Cardinals . 8 4 Axiomatic set theory 9 5 Axiom of Choice 12 6 Independence results 13 7 Some recent work 14 7.1 Descriptive Set Theory . 14 7.2 Non well-founded set theory . 14 7.3 Constructive set theory . 15 8 Historical Remarks and Further Reading 15 ∗Research partially supported by grant 40734 of the Academy of Finland and by the EUROCORES LogICCC LINT programme. I Journal of the Indian Council of Philosophical Research, Vol. XXVII, No. 2. A Special Issue on "Logic and Philosophy Today", 143-163, 2010. Reprinted in "Logic and Philosophy Today" (edited by A. Gupta ans J.v.Benthem), College Publications vol 29, 141-162, 2011. 1 Introduction Originally set theory was a theory of infinity, an attempt to understand infinity in ex- act terms. Later it became a universal language for mathematics and an attempt to give a foundation for all of mathematics, and thereby to all sciences that are based on mathematics.
    [Show full text]
  • Probabilistic Databases
    Series ISSN: 2153-5418 SUCIU • OLTEANU •RÉ •KOCH M SYNTHESIS LECTURES ON DATA MANAGEMENT &C Morgan & Claypool Publishers Series Editor: M. Tamer Özsu, University of Waterloo Probabilistic Databases Probabilistic Databases Dan Suciu, University of Washington, Dan Olteanu, University of Oxford Christopher Ré,University of Wisconsin-Madison and Christoph Koch, EPFL Probabilistic databases are databases where the value of some attributes or the presence of some records are uncertain and known only with some probability. Applications in many areas such as information extraction, RFID and scientific data management, data cleaning, data integration, and financial risk DATABASES PROBABILISTIC assessment produce large volumes of uncertain data, which are best modeled and processed by a probabilistic database. This book presents the state of the art in representation formalisms and query processing techniques for probabilistic data. It starts by discussing the basic principles for representing large probabilistic databases, by decomposing them into tuple-independent tables, block-independent-disjoint tables, or U-databases. Then it discusses two classes of techniques for query evaluation on probabilistic databases. In extensional query evaluation, the entire probabilistic inference can be pushed into the database engine and, therefore, processed as effectively as the evaluation of standard SQL queries. The relational queries that can be evaluated this way are called safe queries. In intensional query evaluation, the probabilistic Dan Suciu inference is performed over a propositional formula called lineage expression: every relational query can be evaluated this way, but the data complexity dramatically depends on the query being evaluated, and Dan Olteanu can be #P-hard. The book also discusses some advanced topics in probabilistic data management such as top-kquery processing, sequential probabilistic databases, indexing and materialized views, and Monte Carlo databases.
    [Show full text]
  • Download a Copy of the 264-Page Publication
    2020 Department of Neurological Surgery Annual Report Reporting period July 1, 2019 through June 30, 2020 Table of Contents: Introduction .................................................................3 Faculty and Residents ...................................................5 Faculty ...................................................................6 Residents ...............................................................8 Stuart Rowe Lecturers .........................................10 Peter J. Jannetta Lecturers ................................... 11 Department Overview ............................................... 13 History ............................................................... 14 Goals/Mission .................................................... 16 Organization ...................................................... 16 Accomplishments of Note ................................ 29 Education Programs .................................................. 35 Faculty Biographies ................................................... 47 Resident Biographies ................................................171 Research ....................................................................213 Overview ...........................................................214 Investigator Research Summaries ................... 228 Research Grant Summary ................................ 242 Alumni: Past Residents ........................................... 249 Donations ................................................................ 259 Statistics
    [Show full text]
  • Relational Algebra
    Relational Algebra Instructor: Shel Finkelstein Reference: A First Course in Database Systems, 3rd edition, Chapter 2.4 – 2.6, plus Query Execution Plans Important Notices • Midterm with Answers has been posted on Piazza. – Midterm will be/was reviewed briefly in class on Wednesday, Nov 8. – Grades were posted on Canvas on Monday, Nov 13. • Median was 83; no curve. – Exam will be returned in class on Nov 13 and Nov 15. • Please send email if you want “cheat sheet” back. • Lab3 assignment was posted on Sunday, Nov 5, and is due by Sunday, Nov 19, 11:59pm. – Lab3 has lots of parts (some hard), and is worth 13 points. – Please attend Labs to get help with Lab3. What is a Data Model? • A data model is a mathematical formalism that consists of three parts: 1. A notation for describing and representing data (structure of the data) 2. A set of operations for manipulating data. 3. A set of constraints on the data. • What is the associated query language for the relational data model? Two Query Languages • Codd proposed two different query languages for the relational data model. – Relational Algebra • Queries are expressed as a sequence of operations on relations. • Procedural language. – Relational Calculus • Queries are expressed as formulas of first-order logic. • Declarative language. • Codd’s Theorem: The Relational Algebra query language has the same expressive power as the Relational Calculus query language. Procedural vs. Declarative Languages • Procedural program – The program is specified as a sequence of operations to obtain the desired the outcome. I.e., how the outcome is to be obtained.
    [Show full text]
  • Best Answers Over Incomplete Data : Complexity and First-Order Rewritings
    Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence (IJCAI-19) Best Answers over Incomplete Data : Complexity and First-Order Rewritings Amelie´ Gheerbrant and Cristina Sirangelo Universite´ de Paris, IRIF, CNRS, F-75013 Paris, France famelie, [email protected] Abstract as if nulls were usual data values, thus merely using the stan- dard database query engine to compute certain answers. Answering queries over incomplete data is ubiqui- In general though it is a common occurrence that few if tous in data management and in many AI applica- any certain answers can be found. If there are no certain an- tions that use query rewriting to take advantage of swers, it is still useful to provide a user with some answers, relational database technology. In these scenarios with suitable guarantees. To address this need, a framework one lacks full information on the data but queries to measure how close an answer is to certainty has recently still need to be answered with certainty. The cer- been proposed [Libkin, 2018b], setting the foundations to tainty aspect often makes query answering unfeasi- both a quantitative and a qualitative approach. We focus on ble except for restricted classes, such as unions of the qualitative notion of best answers. Those are a refinement conjunctive queries. In addition often there are no, of certain answers based on comparing query answers; one or very few, certain answers, thus expensive com- that is supported by a larger set of complete interpretations is putation is in vain. Therefore we study a relax- better. Best answers are those answers for which there is no ation of certain answers called best answers.
    [Show full text]
  • 4 Hash Tables and Associative Arrays
    4 FREE Hash Tables and Associative Arrays If you want to get a book from the central library of the University of Karlsruhe, you have to order the book in advance. The library personnel fetch the book from the stacks and deliver it to a room with 100 shelves. You find your book on a shelf numbered with the last two digits of your library card. Why the last digits and not the leading digits? Probably because this distributes the books more evenly among the shelves. The library cards are numbered consecutively as students sign up, and the University of Karlsruhe was founded in 1825. Therefore, the students enrolled at the same time are likely to have the same leading digits in their card number, and only a few shelves would be in use if the leadingCOPY digits were used. The subject of this chapter is the robust and efficient implementation of the above “delivery shelf data structure”. In computer science, this data structure is known as a hash1 table. Hash tables are one implementation of associative arrays, or dictio- naries. The other implementation is the tree data structures which we shall study in Chap. 7. An associative array is an array with a potentially infinite or at least very large index set, out of which only a small number of indices are actually in use. For example, the potential indices may be all strings, and the indices in use may be all identifiers used in a particular C++ program.Or the potential indices may be all ways of placing chess pieces on a chess board, and the indices in use may be the place- ments required in the analysis of a particular game.
    [Show full text]
  • Database Software Market: Billy Fitzsimmons +1 312 364 5112
    Equity Research Technology, Media, & Communications | Enterprise and Cloud Infrastructure March 22, 2019 Industry Report Jason Ader +1 617 235 7519 [email protected] Database Software Market: Billy Fitzsimmons +1 312 364 5112 The Long-Awaited Shake-up [email protected] Naji +1 212 245 6508 [email protected] Please refer to important disclosures on pages 70 and 71. Analyst certification is on page 70. William Blair or an affiliate does and seeks to do business with companies covered in its research reports. As a result, investors should be aware that the firm may have a conflict of interest that could affect the objectivity of this report. This report is not intended to provide personal investment advice. The opinions and recommendations here- in do not take into account individual client circumstances, objectives, or needs and are not intended as recommen- dations of particular securities, financial instruments, or strategies to particular clients. The recipient of this report must make its own independent decisions regarding any securities or financial instruments mentioned herein. William Blair Contents Key Findings ......................................................................................................................3 Introduction .......................................................................................................................5 Database Market History ...................................................................................................7 Market Definitions
    [Show full text]