BLOCKBENCH: a Framework for Analyzing Private Blockchains

Total Page:16

File Type:pdf, Size:1020Kb

BLOCKBENCH: a Framework for Analyzing Private Blockchains View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by ScholarBank@NUS BLOCKBENCH: A Framework for Analyzing Private Blockchains WANG JI (B.E, Harbin Institute of Technology, China) A THESIS SUBMITTED FOR THE DEGREE OF MASTER OF SCIENCE DEPARTMENT OF COMPUTER SCIENCE NATIONAL UNIVERSITY OF SINGAPORE 2017 Supervisor: Professor Ooi Beng Chin Examiners: Associate Professor Khoo Siau Cheng Associate Professor Teo Yong Meng Declaration I hereby declare that this thesis is my original work and it has been written by me in its entirety. I have duly acknowledged all the sources of information which have been used in the thesis. This thesis has also not been submitted for any degree in any university previously. Wang Ji 18 June 2017 Acknowledgements First and the most important, I would like to express my most sincere gratitude to my supervisor, Prof. Beng Chin Ooi for his continuous guidance and support all the way. Prof. Ooi taught me many things, not limited to how to do research, but how to over- come challenges not only in research area but also in life. Without Prof Ooi’s generous support, I would not have been able to complete this thesis. I also appreciate the help from all my colleagues and my friends. Thanks to my se- niors Wei Wang, Qian Lin, Sheng Wang, Jinyang Gao, Zhongle Xie, Hao Zhang, Kaip- ing Zheng, Mo Sha, Wentian Guo, Zhaojing Luo, Yingjun Wu, Chang Yao, Xin Ji, Fei He, Wenfeng Wu and Xiangrui Cai for their continuous help and advice from since I first came here. Special thanks to the excellent work and support from all my co-authors, Anh Dinh, Rui Liu, Qian Lin, Pingcheng Ruan, Sheng Wang and Hao Zhang. I also want to express my gratitude to my parents for their endless love, understand- ing, and support to me. Contents 1 Introduction 1 1.1 Motivations . 1 1.2 Background . 4 1.3 Contributions . 8 1.4 Synopsis . 9 2 Literature Review 10 2.1 System Benchmarks . 10 2.2 Security and Peformance Studies on Public Blockchains . 11 2.3 Summary . 13 3 BLOCKBENCH Design 14 3.1 Blockchain Layers . 14 3.1.1 Consensus . 15 3.1.2 Data model . 17 3.1.3 Execution layer . 18 3.1.4 Application layer . 19 3.1.5 Survey of Blockchain Platforms . 20 3.2 BLOCKBENCH Implementation . 22 3.3 Evaluation Metrics . 24 3.4 Workloads . 26 3.4.1 Macro benchmark workloads . 26 3.4.2 Micro benchmark workloads . 28 i 4 Performance Benchmark 30 4.1 Macro benchmarks . 31 4.1.1 Throughput and latency . 31 4.1.2 Scalability . 35 4.1.3 Fault tolerance and security . 39 4.1.4 Comparision with transactional database . 41 4.2 Micro benchmarks . 42 4.2.1 Execution layer . 42 4.2.2 Data model . 43 4.2.3 Consensus . 48 5 Discussion and Conclusion 49 5.1 Discussion and Future Work . 49 5.2 Conclusion . 52 ii Abstract Blockchain technologies are taking the world by storm. Public blockchains, such as Bitcoin and Ethereum, enable secure peer-to-peer applications like crypto-currency or smart contracts. Their security and performance are well studied. This thesis concerns recent private blockchain systems designed with stronger security (trust) assumption and performance requirement. These systems aim to disrupt applications which have so far been implemented on top of database systems, e.g., banking, finance, and trading. Mul- tiple platforms for private blockchains are under active development and fine-tuning. However, there is an evident lack of a systematic framework with which different sys- tems can be analyzed and compared against each other. Such a framework can be used to assess blockchains’ viability as another distributed data processing platform while helping developers to identify bottlenecks and accordingly improve their platforms. In this thesis, we first describe BLOCKBENCH, the first evaluation framework for an- alyzing private blockchains. Any private blockchain can be integrated to BLOCKBENCH via simple APIs and benchmarked against workloads that are based on real and synthetic smart contracts. BLOCKBENCH measures overall and component-wise performance regarding throughput, latency, scalability, and fault-tolerance. Next, we use BLOCK- BENCH to conduct a comprehensive evaluation of three major private blockchains: Ethereum, Parity and Hyperledger Fabric. The results demonstrate that these systems are still far from displacing current database systems in traditional data processing workloads. Fur- thermore, there are gaps in performance among the three systems which are attributed to the design choices at different layers of the blockchain’s software stack. BLOCKBENCH serves as a fair means of comparison for different platforms and enables a deeper under- standing of different system design choices. iii List of Figures 1.1 Blockchain data structure for Bitcoin. Transactions are kept outside of the block header. 5 1.2 Blockchain software stack on a fully validating node. A non-validating node stores only the block headers. Different blockchain platforms offer different interfaces between the blockchain and application layer. 6 1.3 An example of smart contract, written in Solidity language, for a pyra- mid scheme on Ethereum. 7 3.1 Abstraction layers in blockchain, and the corresponding workloads in BLOCKBENCH................................ 15 3.2 BLOCKBENCH software stack. New workloads are added by implement- ing IWorkloadConnector interface. New blockchain backends are added by implementing IBlockchainConnector . 22 4.1 BLOCKBENCH Peak performance of blockchains with 8 clients and 8 servers. 32 4.2 BLOCKBENCH Performance with varying request rates of blockchains with 8 clients and 8 servers. 33 4.3 Resource utilization. 34 4.4 Client’s request queue, for request rates of 8 tx/s and 512 tx/s. 35 4.5 Block generation rate. 35 4.6 Latency distribution. 36 4.7 Performance scalability (with the same number of clients and servers). 36 4.8 Scalability with Smallbank benchmark. 37 4.9 Queue length at the client. 37 iv 4.10 Performance scalability (with 8 clients). 38 4.11 Failing 4 nodes at 250th second (fixed 8 clients) for 12 and 16 servers. X-12 and X-16 mean running 12 and 16 servers using blockchain X re- spectively. 39 4.12 Blockchain forks caused by attacks that partitions the network in half at 100th second and lasts for 150 seconds. X-total means the total number of blocks generated in blockchain X, X-bc means the total number of blocks that reach consensus in blockchain X. 40 4.13 Performance of the three blockchain systems versus H-Store. 41 4.14 CPUHeavy workload, ‘X’ indicates Out-of-Memory error. 43 4.15 Average write throughput in IOHeavy workload, ‘X’ indicates Out-of- Memory error. 44 4.16 Average read throughput in IOHeavy workload, ‘X’ indicates Out-of- Memory error. 44 4.17 Disk usage in IOHeavy workload, ‘X’ indicates Out-of-Memory error. 44 4.18 Analytics workload Q1 latency. 46 4.19 Analytics workload Q2 latency. 46 4.20 Code snippet from the VersionKVStore smart contract for analytics workload (Q1 and Q2). 47 4.21 Throughput of DoNothing workload. 48 List of Tables 3.1 Comparison of blockchain platforms . 21 3.2 Summary of smart contracts implemented in BLOCKBENCH. Each con- tract has one Solidity version for Parity and Ethereum, and one Golang version for Hyperledger. 26 v Chapter 1 Introduction 1.1 Motivations Blockchain technologies are gaining massive momentum in the last few years, largely due to the success of Bitcoin crypto-currency [46]. A blockchain, also called distributed ledger, is essentially an append-only data structure maintained by a set of nodes which do not fully trust each other. All nodes in a blockchain network agree on an ordered set of blocks, each containing multiple transactions, thus the blockchain can be viewed as a log of ordered transactions. In a database context, blockchain can be viewed as a so- lution to distributed transaction management: nodes keep replicas of the data and agree on an execution order of transactions. However, traditional database systems work in a trusted environment and employ well-known concurrency control techniques [10, 40, 57] to order transactions. Blockchain’s key advantage is that it does not assume nodes trust each other and therefore is designed to achieve Byzantine fault tolerance. In the original design, Bitcoin’s blockchain stores coins as the system states shared by all participants. For this simple application, Bitcoin nodes implement a simple repli- cated state machine model which simply moves coins from one address to another. Since then, blockchain has grown rapidly to support user-defined states and Turing complete state machine models. Ethereum [2] is a well-known example which enables any de- 1 centralized, replicated applications known as smart contracts. More importantly, inter- est from the industry has started to drive the development of new blockchain platforms that are designed for private settings in which participants are authenticated. Blockchain systems in such environments are called private (or permissioned), as opposed to the early systems operating in public (or permissionless) environments where anyone can join and leave. Applications for security trading and settlement [53], asset and financial management [44, 45], banking and insurance [30] are being built and evaluated. These applications are currently supported by enterprise-grade database systems like Oracle and MySQL, but blockchain has the potential to disrupt this status quo because it incurs lower infrastructure and human costs [30]. In particular, blockchain’s immutability and transparency help reduce human errors and the need for manual intervention due to con- flicting data. Blockchain can help streamline business processes by removing duplicate efforts in data governance. Goldman Sachs estimated 6 billion saving in the current cap- ital market [30], and J.P.
Recommended publications
  • MDA Process to Extract the Data Model from Document-Oriented Nosql Database
    MDA Process to Extract the Data Model from Document-oriented NoSQL Database Amal Ait Brahim, Rabah Tighilt Ferhat and Gilles Zurfluh Toulouse Institute of Computer Science Research (IRIT), Toulouse Capitole University, Toulouse, France Keywords: Big Data, NoSQL, Model Extraction, Schema Less, MDA, QVT. Abstract: In recent years, the need to use NoSQL systems to store and exploit big data has been steadily increasing. Most of these systems are characterized by the property "schema less" which means absence of the data model when creating a database. This property brings an undeniable flexibility by allowing the evolution of the model during the exploitation of the base. However, query expression requires a precise knowledge of the data model. In this article, we propose a process to automatically extract the physical model from a document- oriented NoSQL database. To do this, we use the Model Driven Architecture (MDA) that provides a formal framework for automatic model transformation. From a NoSQL database, we propose formal transformation rules with QVT to generate the physical model. An experimentation of the extraction process was performed on the case of a medical application. 1 INTRODUCTION however that it is absent in some systems such as Cassandra and Riak TS. The "schema less" property Recently, there has been an explosion of data offers undeniable flexibility by allowing the model to generated and accumulated by more and more evolve easily. For example, the addition of new numerous and diversified computing devices. attributes in an existing line is done without Databases thus constituted are designated by the modifying the other lines of the same type previously expression "Big Data" and are characterized by the stored; something that is not possible with relational so-called "3V" rule (Chen, 2014).
    [Show full text]
  • Drawing-A-Database-Schema.Pdf
    Drawing A Database Schema Padraig roll-out her osteotome pluckily, trillion and unacquainted. Astronomic Dominic haemorrhage operosely. Dilative Parrnell jury-rigging: he bucketing his sympatholytics tonishly and litho. Publish your schema. And database user schema of databases in berlin for your drawing created in a diagram is an er diagram? And you know some they say, before what already know. You can generate the DDL and modify their hand for SQLite, although to it ugly. How can should improve? This can work online, a record is crucial to reduce faults in. The mouse pointer should trace to an icon with three squares. Visual Database Creation with MySQL Workbench Code. In database but a schema pronounced skee-muh or skee-mah is the organisation and structure of a syringe Both schemas and. Further more complex application performance, concept was that will inform your databases to draw more control versions. Typically goes in a schema from any sql for these terms of maintenance of the need to do you can. Or database schemas you draw data models commonly used to select all databases by drawing page helpful is in a good as methods? It is far to bath to target what suits you best. Gallery of training courses. Schema for database schema for. Help and Training on mature site? You can jump of ER diagrams as a simplified form let the class diagram and carpet may be easier for create database design team members to. This token will be enrolled in quickly create drawings by enabled the left side of the process without realising it? Understanding a Schema in Psychology Verywell Mind.
    [Show full text]
  • Database Models
    Enterprise Architect User Guide Series Database Models The Sparx Systems Enterprise Architect Database Builder helps visualize, analyze and design system data at conceptual, logical and physical levels, generate database objects from a model using customizable Transformations, and reverse engineer a DBMS. Author: Sparx Systems Date: 16/01/2019 Version: 1.0 CREATED WITH Table of Contents Database Models 4 Data Modeling Overview 5 Conceptual Data Model 7 Logical Data Model 8 Entity Relationship Diagrams (ERDs) 9 Physical Data Models 13 Database Modeling 15 Create a Data Model from a Model Pattern 16 Create a Data Model Diagram 18 Example Data Model Diagram 20 The Database Builder 22 Opening the Database Builder 24 Working in the Database Builder 26 Columns 30 Create Database Table Columns 31 Delete Database Table Columns 33 Reorder Database Table Columns 34 Constraints/Indexes 35 Database Table Constraints/Indexes 36 Primary Keys 39 Database Indexes 42 Unique Constraints 45 Foreign Keys 46 Check Constraints 50 Table Triggers 52 SQL Scratch Pad 54 Database Compare 56 Execute DDL 62 Database Objects 65 Database Tables 66 Create a Database Table 68 Database Table Columns 70 Create Database Table Columns 71 Delete Database Table Columns 73 Reorder Database Table Columns 74 Working with Database Table Properties 75 Set the Database Type 76 Set Database Table Owner/Schema 77 Set MySQL Options 78 Set Oracle Database Table Properties 79 Database Table Constraints/Indexes 80 Primary Keys 83 Non Clustered Primary Keys 86 Database Indexes 87 Unique
    [Show full text]
  • Examples of Relational Database Model
    Examples Of Relational Database Model Discerning Ajai never dally so hardheadedly or die-cast any macaronics warily. Flutiest Noble necessitating: he syllabicating his magnificoes inexplicably and deprecatorily. Taliped Ram zeroes, his decerebration revving strangle verbally. Several products exist to support such databases. Simply click the image would make changes online. Note that a constraint implies an index on the same label and property. So why should we use a database? Gain new system that data typing sql programs operate, documents can write business logic in relational database examples of organization might like i have all elements which is. In sql and domains like spreadsheet, difference and gathering data? DRDA enables network connected relational databases to cooperate to fulfill SQL requests. So what is our use case? And because these databases are expensive, you tend to put everything in there. Individual tables to? It will take us a couple of weeks going over these skills and concepts. When there is a one to one relationship, one of two actions typically occur. In database examples of relational model was one. Graph models and graph queries are two sides of pain same coin. Some research data stores replicate a given blob across multiple server nodes, which enables fast parallel reads. Why relational structure of relational schema? Each model database model? But what if item prices were negotiated on each order or there were special promotions? Other data on database relational databases went from. The domain is better user not relational model support multiple bills in other. There is called relation which columns? In english as a model developed procedures for example, music collection of models are generic visual basic skill every tuple, it natural join.
    [Show full text]
  • Relational Database Fundamentals
    05_04652x ch01.qxp 7/10/06 1:45 PM Page 7 Chapter 1 Relational Database Fundamentals In This Chapter ᮣ Organizing information ᮣ Defining database ᮣ Defining DBMS ᮣ Comparing database models ᮣ Defining relational database ᮣ Considering the challenges of database design QL (pronounced ess-que-ell, not see’qwl) is an industry-standard language Sspecifically designed to enable people to create databases, add new data to databases, maintain the data, and retrieve selected parts of the data. Various kinds of databases exist, each adhering to a different conceptual model. SQL was originally developed to operate on data in databases that follow the relational model. Recently, the international SQL standard has incorporated part of the object model, resulting in hybrid structures called object-relational databases. In this chapter, I discuss data storage, devote a section to how the relational model compares with other major models, and provide a look at the important features of relational databases. Before I talk about SQL, however, I need to nail down what I mean by the term database. Its meaning has changed as computers have changed the way people record and maintain information. COPYRIGHTED MATERIAL Keeping Track of Things Today, people use computers to perform many tasks formerly done with other tools. Computers have replaced typewriters for creating and modifying documents. They’ve surpassed electromechanical calculators as the best way to do math. They’ve also replaced millions of pieces of paper, file folders, and file cabinets as the principal storage medium for important information. Compared to those old tools, of course, computers do much more, much faster — and with greater accuracy.
    [Show full text]
  • Chapter 9 – Designing the Database
    Systems Analysis and Design in a Changing World, seventh edition 9-1 Chapter 9 – Designing the Database Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases Instructor's Notes (for each section) ◦ Key Terms ◦ Lecture notes ◦ Quick quizzes Classroom Activities Troubleshooting Tips Discussion Questions Chapter Overview Database management systems provide designers, programmers, and end users with sophisticated capabilities to store, retrieve, and manage data. Sharing and managing the vast amounts of data needed by a modern organization would not be possible without a database management system. In Chapter 4, students learned to construct conceptual data models and to develop entity-relationship diagrams (ERDs) for traditional analysis and domain model class diagrams for object-oriented (OO) analysis. To implement an information system, developers must transform a conceptual data model into a more detailed database model and implement that model in a database management system. In the first sections of this chapter students learn about relational database management systems, and how to convert a data model into a relational database schema. The database sections conclude with a discussion of database architectural issues such as single server databases versus distributed databases which are deployed across multiple servers and multiple sites. Many system interfaces are electronic transmissions or paper outputs to external agents. Therefore, system developers need to design and implement integrity controls and security controls to protect the system and its data. This chapter discusses techniques to provide the integrity controls to reduce errors, fraud, and misuse of system components. The last section of the chapter discusses security controls and explains the basic concepts of data protection, digital certificates, and secure transactions.
    [Show full text]
  • Data Modeling Guidelines for Nosql Document-Store Databases
    (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 9, No. 10, 2018 Data Modeling Guidelines for NoSQL Document-Store Databases Abdullahi Abubakar Imam1;a;b, Shuib Basri2;a, Rohiza Ahmad3;a, Junzo Watada4;a, Maria T. Gonzlez-Aparicio5;c, Malek Ahmad Almomani6;a aCIS Department, Universiti Teknologi PETRONAS, Bandar Seri Iskandar, 31570, Perak, Malaysia bCS Department, Ahmadu Bello University, Zaria-Nigeria cComputing Department, University of Oviedo Gijon, Spain Abstract—Good database design is key to high data avail- [11], developer autonomy [1], [12] and inadequate modeling ability and consistency in traditional databases, and numerous guidelines [13], have posed numerous challenges in NoSQL techniques exist to abet designers in modeling schemas appropri- schema best-practice implementation. This has increasingly led ately. These schemas are strictly enforced by traditional database to erroneous database modeling and designs [1], [14], [15], engines. However, with the emergence of schema-free databases [16], [17], which defeats the notion of robustness in NoSQL (NoSQL) coupled with voluminous and highly diversified datasets databases and results in the production of low-performance, (big data), such aid becomes even more important as schemas in NoSQL are enforced by application developers, which requires a non-secure and less-durable systems. high level of competence. Precisely, existing modeling techniques and guides used in traditional databases are insufficient for big- For example, consider the security aspect of NoSQL data storage settings. As a synthesis, new modeling guidelines for document-oriented databases. The databases offer a query NoSQL document-store databases are posed. These guidelines language or an Application Program Interface (API) that has cut across both logical and physical stages of database designs.
    [Show full text]
  • A Comparison of the Relational Database Model and the Associative Database Model
    https://doi.org/10.48009/1_iis_2009_208-213 A COMPARISON OF THE RELATIONAL DATABASE MODEL AND THE ASSOCIATIVE DATABASE MODEL Joseph V. Homan, Robert Morris University, [email protected] Paul J. Kovacs, Robert Morris University, [email protected] ================================================================================== ABSTRACT although not synonymous – are used somewhat interchangeably. This paper compares the relational database model DATABASE HISTORY with the associative database model. This paper briefly summarizes the relational and other familiar McLeod and Schell [13] note that “database data models. The remainder of this paper will management systems have a relatively short history” introduce and describe the associative database with the first DBMS being “developed by GE in model. The associative model is less known because 1964.” As described by Simon [16], mainframes were it is relatively new and does not have a large the source of early data and data processing software supplier base. While it seems to offer a applications. As the mainframes began to be replaced number of benefits and advantages over other with minicomputers, people started to look for ways database structures, it has yet to become a to gain access to data more directly rather than commercial success in the mainstream database making “requests to the data-processing department market. every time data from an application‟s files or databases” were needed. To get more direct access, Keywords: associative databases, the associative standard data resulting from a query would be copied database model, database models, database modeling, to a tape for transfer to and use on a minicomputer. database relationships. This approach worked in some cases, in other cases it was problematic due to the time lag and need to re- query the mainframe if any different data were INTRODUCTION needed.
    [Show full text]
  • Mssql Database Schema Diagram
    Mssql Database Schema Diagram Unconcealing Hendrik sometimes lown his love-tokens inestimably and amalgamating so scantly! Forkiest and evidentiary Tod pacifying his Calder bespeaks roll widdershins. Unequaled Christos redecorate compulsively. To select either by establishing pairings of database schema objects structure To visualize a database you never create one explain more diagrams illustrating some or all refer the tables columns keys and relationships in manual For any couple you have create as many database diagrams as strong like this database vault can guard on any process of diagrams. Entity Data Modeling with Visual Studio James Serra's Blog. Entity Relationship Diagrams ERDs Lucidchart. SchemaSpy. SQL Server Database Diagram Tool in Management Studio. How know you diagram a SQL database? SQL Server How to export Database Diagram to Excel. Documentation script Introducing schema documentation in SQL Server. Diagrams Data model definition Define data model manually with YAML Extract data model from R data frames Reverse-engineer SQL Server Database. Tables are the brown primary building blocks of a database A Table is very much house a pit table or spreadsheet containing rows records arranged in different columns fields At the intersection of notice and outside row cost the individual bit of fair for easy particular record called a cell. Display views in database diagram SQLServerCentral. Above is follow simple example saw a schema diagram It shows three tables along with primitive data types relationships between the tables as specific as there primary keys and foreign keys. In this ER Diagram view log can become table fields and relationships between tables in data database andor schema graphically It also allows adding foreign key.
    [Show full text]
  • The Entity-Relationship (ER) Model
    The Entity-Relationship (ER) Model (Study Cow book Chapter 2) Comp 521 – Files and Databases Fall 2012 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.) . What are the entities and relationships in the enterprise? . What information about these entities and relationships should we store in the database? . What are the integrity constraints or business rules that hold? . A database “model” can be represented pictorially (ER diagrams). Can map an ER diagram into a relational schema. Comp 521 – Files and Databases Fall 2012 2 ER Modeling and ER Diagrams Entity: An object distinguishable from other objects. Entities are characterized by a set of attributes. Entity Set: A collection of similar entities. E.g., all employees. All entities in an entity set have the same set of attributes. (Until we consider ISA hierarchies, anyway!) . Each entity set has a key. Each attribute has a domain. attrib2 … name attrib1 attribn ssn lot entity Employees Comp 521 – Files and Databases Fall 2012 3 ER Model Basics name since dname name ssn lot did budget ssn lot Employees Works_In Departments Employees supervisor subordinate Reports_To Relationship: Association among two or more entities. e.g., David works in the Math department. Relationship Set: Collection of similar relationships. a.k.a a tuple . An n-ary relationship set, R, relates n entity sets E1 ... En; each {(e , … ,e ) e ∈ E ,,e ∈ E } relationship in R involves entities 1 n 1 1 n n . Same entity set could participate in different relationship sets, or in different “roles” in same set. Comp 521 – Files and Databases € Fall 2012 4 Key Constraints Consider Works_In: name since dname An employee can ssn lot did budget work in many departments; Employees Works_in Departments a dept can have many employees.
    [Show full text]
  • Database Design for Nosql Systems Francesca Bugiotti, Luca Cabibbo, Paolo Atzeni, Riccardo Torlone
    Database Design for NoSQL Systems Francesca Bugiotti, Luca Cabibbo, Paolo Atzeni, Riccardo Torlone To cite this version: Francesca Bugiotti, Luca Cabibbo, Paolo Atzeni, Riccardo Torlone. Database Design for NoSQL Systems. International Conference on Conceptual Modeling, Oct 2014, Atlanta, United States. pp.223 - 231, 10.1007/978-3-319-12206-9_18. hal-01092440 HAL Id: hal-01092440 https://hal.inria.fr/hal-01092440 Submitted on 8 Dec 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Database Design for NoSQL Systems Francesca Bugiotti1∗, Luca Cabibbo2, Paolo Atzeni2, and Riccardo Torlone2 1Inria & Universite´ Paris-Sud and 2Universita` Roma Tre Abstract. We propose a database design methodology for NoSQL systems. The approach is based on NoAM (NoSQL Abstract Model), a novel abstract data model for NoSQL databases, which exploits the commonalities of various No- SQL systems and is used to specify a system-independent representation of the application data. This intermediate representation can be then implemented in target NoSQL databases, taking into account their specific features. Overall, the methodology aims at supporting scalability, performance, and consistency, as needed by next-generation web applications. 1 Introduction NoSQL database systems are today an effective solution to manage large data sets dis- tributed over many servers.
    [Show full text]
  • Translation of ER-Diagram Into Relational Schema
    TranslationTranslation ofof ERER --diagramdiagram intointo RelationalRelational SchemaSchema Dr. Sunnie S. Chung CIS430/530 LearningLearning ObjectivesObjectives Define each of the following database terms Relation Primary key Foreign key Referential integrity Field Data type Null value Discuss the role of designing databases in the analysis and design of an information system Learn how to transform an entity-relationship (ER) 9.29.2 Diagram into an equivalent set of well-structured relations 2 3 9.49.4 4 5 ProcessProcess ofof DatabaseDatabase DesignDesign • Logical Design – Based upon the conceptual data model – Four key steps 1. Develop a logical data model for each known user interface for the application using normalization principles. 2. Combine normalized data requirements from all user interfaces into one consolidated logical database model 3. Translate the conceptual E-R data model for the application into normalized data requirements 4. Compare the consolidated logical database design with the 9.69.6 translated E-R model and produce one final logical database model for the application 6 9.79.7 7 RelationalRelational DatabaseDatabase ModelModel • Data represented as a set of related tables or relations • Relation – A named, two-dimensional table of data. Each relation consists of a set of named columns and an arbitrary number of unnamed rows – Properties • Entries in cells are simple • Entries in columns are from the same set of values • Each row is unique • The sequence of columns can be interchanged without changing the meaning or use of the relation • The rows may be interchanged or stored in any 9.89.8 sequence 8 RelationalRelational DatabaseDatabase ModelModel • Well-Structured Relation – A relation that contains a minimum amount of redundancy and allows users to insert, modify and delete the rows without errors or inconsistencies 9.99.9 9 TransformingTransforming EE --RR DiagramsDiagrams intointo RelationsRelations • It is useful to transform the conceptual data model into a set of normalized relations • Steps 1.
    [Show full text]