CS317 File and Database Systems

Total Page:16

File Type:pdf, Size:1020Kb

CS317 File and Database Systems CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 14 – OODBMS and UML Concepts November 9, 2015 Sam Siewert Reminders PLEASE FILL OUT COURSE EVALUATIONS ON CANVAS [5 points bonus on Assignment #6] Assignment #6, DBMS Project of Your Interest – POSTED – Work with your Chosen Team – Self-Directed – Autonomy, Mastery, Purpose and Life-long Learning and Requires Some Research on Your Part Assignment #4 & #5 Grading In Progress Assignment #6 Assessed with Final Grading Sam Siewert 2 Interdisciplinary Nature of DBMS CS332 – C++ & Java Final Lecture – Week 14 SE300/310 – OOA/OOD/OOP File Operating Systems Systems Programming Security Languages DBMS (SQL, OOP) Storage Networking ? (SAN, NAS, DAS) (Clusters, DR, Analytics Data Client/Server) Big MySQL Connectors CS332 – “R” C/C++, Java, … Sam Siewert 3 OODBMS and UML Concepts CHAPTER 27 Sam Siewert 4 Next Generation Database Systems First Generation DBMS: Network and Hierarchical – Required complex programs for even simple queries. – Minimal data independence. – No widely accepted theoretical foundation. Second Generation DBMS: Relational DBMS – Helped overcome these problems. Third Generation DBMS: OODBMS and ORDBMS. [NoSQL] Pearson Education © 2014 5 History of Data Models Pearson Education © 2014 6 Object-Oriented Data Model No one agreed object data model. One definition: Object-Oriented Data Model (OODM) – Data model that captures semantics of objects supported in object-oriented programming. Object-Oriented Database (OODB) – Persistent and sharable collection of objects defined by an ODM. Object-Oriented DBMS (OODBMS) – Manager of an ODB. OMG [Object Management Group], CORBA Pearson Education © 2014 7 Object-Oriented Data Model Zdonik and Maier present a threshold model that an OODBMS must, at a minimum, satisfy: – It must provide database functionality. DBMS – It must support object identity. Name space – It must provide encapsulation. – It must support objects with complex state. Distributed Object Stores – E.g. Ceph and Amplidata, OODBMS, Object-Relational Mapping Systems Pearson Education © 2014 8 Object-Oriented Data Model Khoshafian and Abnous define OODBMS as: – OO = ADTs + Inheritance + Object identity – OODBMS = OO + Database capabilities. Parsaye et al. gives: 1.High-level query language with query optimization. 2.Support for persistence, atomic transactions: concurrency and recovery control. 3.Support for complex object storage, indexes, and access methods. – OODBMS = OO system + (1), (2), and (3). Pearson Education © 2014 9 Commercial OODBMSs GemStone/S from Gemstone Systems Inc., Objectivity/DB from Objectivity Inc., ObjectStore from Progress Software Corp., Versant Object Database db40 and FastObjects from Versant Corp. Amplidata? - Object Store Open Source Object Stores and NoSQL ( R DBMS) – Ceph, Mongo DB NoSQL Pearson Education © 2014 10 Recall Object Definition – From Week 4 Instance of a Class [Hierarchy from Abstract that Can’t Be instantiated to Concrete Sub-classes] Classes Define Public and Private Data and Methods to Operate on that Data Sub-classes Inherit from Parent Classes and Refine Data Abstraction and Methods OOPS – Java, C++, …, back to Smalltalk and Lisp CLOS Encapsulation and Abstraction is the Goal Implementation Hiding and Interface Defintion Each OOP Has Variations on Support [E.g. Multiple Inheritance, Abstract Classes and Methods, Polymorphism [Parametric, Ad-hoc, Operator Overloading] E.g. Oracle’s Java Object Tutorial Sam Siewert 11 UML Example OOP – CS225, OOA/OOD – SE310 UML – Standardized OO Analysis and Design CASE Tools (Like MySQL Workbench) for C++, Java Sam Siewert 12 UML Class Compared to EER Schema EER – Entities, Attributes, Relationships (Schema) – Specifically Missing Operations on Entities – Does Include Inheritance and Aggregation UML Class Diagram (Specifies C++, Java, … OOP Class Hierarchy for Abstract and Concrete Classes) – Encapsulates Operations (that can be inherited) along with Attributes in Class Hierarchy – Includes Aggregation, Relationships and Hierarchy (like EER) Sam Siewert 13 Origins of the Object-Oriented Data Model Pearson Education © 2014 14 Persistent Programming Languages (PPLs) Language that provides users with ability to (transparently) preserve data across successive executions of a program, and even allows such data to be used by many different programs. • In contrast, database programming language (e.g. SQL) differs by its incorporation of features beyond persistence, such as transaction management, concurrency control, and recovery. Pearson Education © 2014 15 Persistent Programming Languages (PPLs) PPLs eliminate impedance mismatch [interface between application and DBMS] by extending programming language with database capabilities. – In PPL, language’s type system provides data model, containing rich structuring mechanisms. In some PPLs procedures are ‘first class’ objects and are treated like any other object in language. – Procedures are assignable, may be result of expressions, other procedures or blocks, and may be elements of constructor types. – Procedures can be used to implement ADTs. Pearson Education © 2014 16 Persistent Programming Languages (PPLs) PPL also maintains same data representation in memory as in persistent store. – Overcomes difficulty and overhead of mapping between the two representations. Addition of (transparent) persistence into a PPL is important enhancement to IDE, and integration of two paradigms provides more functionality and semantics. Pearson Education © 2014 17 Alternative Strategies for Developing an OODBMS Extend existing OO programming language. – GemStone extended Smalltalk. Provide extensible OODBMS library. – Approach taken by Ontos, Versant, and ObjectStore. Embed OODB language constructs in a conventional host language. – Approach taken by O2,which has extensions for C. – O2 Merged into Infromix, which was Acquired by IBM – http://www-01.ibm.com/software/data/informix/ Pearson Education © 2014 18 Single-Level v. Two-Level Storage Model With a traditional DBMS, programmer has to: 1. Decide when to read and update objects. 2. Write code to translate between application’s object model and the data model of the DBMS. 3. Perform additional type-checking when object is read back from database, to guarantee object will conform to its original type. Pearson Education © 2014 19 Single-Level v. Two-Level Storage Model Difficulties occur because conventional DBMSs have two-level storage model: storage model in memory, and database storage model on disk. In contrast, OODBMS gives illusion of single-level storage model, with similar representation in both memory and in database stored on disk. – Requires clever management of representation of objects in memory and on disk (called “pointer swizzling”). Pearson Education © 2014 20 Two-Level Storage Model for RDBMS Pearson Education © 2014 21 Single-Level Storage Model for OODBMS Pearson Education © 2014 22 No Swizzling Easiest implementation is not to do any swizzling. Objects faulted into memory, and handle passed to application containing object’s OID. OID is used every time the object is accessed. System must maintain some type of lookup table - Resident Object Table (ROT) - so that object’s virtual memory pointer can be located and then used to access object. Inefficient if same objects are accessed repeatedly. Acceptable if objects only accessed once. Pearson Education © 2014 23 Resident Object Table (ROT) Pearson Education © 2014 24 Object Referencing Need to distinguish between resident and non- resident objects. Most techniques variations of edge marking or node marking. Edge marking marks every object pointer with a tag bit: – if bit set, reference is to memory pointer; – else, still pointing to OID and needs to be swizzled when object it refers to is faulted into. Pearson Education © 2014 25 Object Referencing Node marking requires that all object references are immediately converted to virtual memory pointers when object is faulted into memory. First approach is software-based technique but second can be implemented using software or hardware-based techniques. Pearson Education © 2014 26 Pointer Swizzling Techniques The action of converting object identifiers (OIDs) to main memory pointers. • Aim is to optimize access to objects. • Should be able to locate any referenced objects on secondary storage using their OIDs. • Once objects have been read into cache, want to record that objects are now in memory to prevent them from being retrieved again. • Could hold lookup table that maps OIDs to memory pointers (e.g. using hashing). • Pointer swizzling attempts to provide a more efficient strategy by storing memory pointers in the place of referenced OIDs, and vice versa when the object is written back to disk. Pearson Education © 2014 27 Interesting to Ponder… How Will Persistent Main Memory Impact? – E.g. Phase Change Memory, PCM – Memristor – Nand Programming Time is Too Slow for Persistent Memory Solution How Will SSD and Nand Flash I/O Cards Impact? – Fusion IO, Micron, Virident [Purchased by WD], Intel, etc. – Persistent PCI Express [NVM Express] Block Device – SSD – SAS/SATA Device with Nand Internal Storage – Emulates HDD with Faster Random Access Sam Siewert 28 Accessing an Object with a RDBMS Pearson Education © 2014 29 Accessing an Object with an OODBMS Pearson Education © 2014 30 Persistent Schemes Consider three persistent schemes: – Checkpointing. – Serialization. – Explicit Paging. Note, persistence can also be applied to (object) code and to the
Recommended publications
  • Daten Als Objekte Speichern Mit Db4o, Eine Objektorientierte Datenbank
    Daten als Objekte speichern mit db4o, eine objektorientierte Datenbank Matthias Bordach Universitaet Siegen [email protected] ABSTRACT 2. DER ODMG STANDARD[1] Die Hausarbeit befasst sich mit der Datenbanktechnologie Verschiedene Ans¨atze fur¨ eine Datenbank auf objektorientier- db4o. Das objektorientierte Speicherkonzept zeichnet sie als ter Basis erforderten einen Standard. Diesen Standard ent- einen Vertreter der NO-SQL-Familie aus. Auf eine theoreti- wickelte eine Arbeitsgruppe der Object Management Group sche Einfuhrung¨ in den Standard ODMG folgt eine praktische (OMG). 1993 wurde die erste Version ver¨offentlicht mit dem Vorstellung der Datenbankfunktionalit¨at. Die Funktionen Namen The Object Data Standard ODMG. Die Arbeitsgrup- werden mit Beispielen gestutzt,¨ die in Java geschrieben sind. pe uberarbeitete¨ und erweiterte das Dokument in den fol- Abfrage- und Speichermethoden werden ebenso erkl¨art wie genden Jahren. Inhalt und Ziel des Dokuments ist eine Stan- die Realisierung von Beziehungen zwischen Objekten und darddefinition von Konzepten fur¨ die Anbindung eines objek- das Handling von Schema Evolution. Der Leser wird nach torientierten Datenbankmanagementsystems an die gew¨ahlte der Lekture¨ in der Lage sein, eine einfache Datenbank mit Programmiersprache. In Version 3 wird den Sprachen C++, db4o zu programmieren. Smalltalk und Java jeweils ein eigenes Kapitel fur¨ die Schnitt- stellenumsetzung gewidmet. Generell definiert die ODMG das Object Model, Objektspezifikationssprachen und die an die 1. EINLEITUNG SQL angelehnte Object Query Language (OQL). Es werden Die Idee einer Datenbank, die Objekte ohne ein aufwendiges Standardausdrucke¨ festgelegt fur¨ die Datenbankinstanziie- Mapping in ein anderes Datenmodell speichern kann, wurde rung, -nutzung (open, close), Transaktionen (commit) und erstmals in den 80er Jahren des letzten Jahrhunderts in kon- Mehrfachzugriff (Locks).
    [Show full text]
  • Relational and Object-Oriented Databases
    Relational and Object-Oriented Databases by Willi-Hans Steeb International School for Scientific Computing Contents 1 What is a table? 1 1.1 Introduction . 1 1.2 Examples . 5 1.3 Tables in Programs . 8 1.4 Table and Relation . 33 2 Structured Query Language 35 2.1 Introduction . 35 2.2 Integrity Rules . 38 2.3 SQL Commands . 39 2.3.1 Introduction . 39 2.3.2 Aggregate Function . 40 2.3.3 Arithmetic Operators . 40 2.3.4 Logical Operators . 40 2.3.5 SELECT Statement . 41 2.3.6 INSERT Command . 45 2.3.7 DELETE Command . 46 2.3.8 UPDATE Command . 47 2.3.9 CREATE TABLE Command . 48 2.3.10 DROP TABLE Command . 51 2.3.11 ALTER TABLE Command . 52 2.4 Set Operators . 53 2.5 Views . 60 2.6 Primary and Foreign Keys . 62 2.7 Datatypes in SQL . 63 2.8 Joins . 66 2.9 Stored Procedure . 71 2.10 MySQL Commands . 72 2.11 Cursors . 73 2.12 PL and SQL . 75 2.13 ABAP/4 and SQL . 76 2.14 Query Processing and Optimization . 77 i 3 Normal Forms 83 3.1 Introduction . 83 3.2 Anomalies . 87 3.3 Example . 89 3.4 Fourth and Fifth Normal Forms . 93 4 Transaction 101 4.1 Introduction . 101 4.2 Data Replication . 107 4.3 Locks . 108 4.4 Deadlocking . 111 4.5 Threads . 117 4.5.1 Introduction . 117 4.5.2 Thread Class . 119 4.5.3 Example . 121 4.5.4 Priorities . 123 4.5.5 Synchronization and Locks .
    [Show full text]
  • The O/R Problem: Mapping Between Relational and Object-Oriented
    The O/R Problem: Mapping Between Relational and Object-Oriented Methodologies CIS515 Strategic Planning for Database Systems Ryan Somma StudenID: 9989060874 [email protected] Introduction Relational databases are set of tables defining the columns of the rows they contain, which are also conceptualized as relations defining the attributes of the tuples they store. Relational Database Management Systems (RDBMS) abstract the normalized relational structures underlying the system away from the user, allowing them to focus on the specific data they wish to extract from it. Through queries, they provide users the capability of joining sets in relations into reports, transforming data into information. Through normalization, they eliminate redundancy, ensuring there is only one source for each data element in the system, and improve integrity through relationships based on data keys and validation (Rob and Coronel, 2009). Although there are alternatives to RDBMS‟s, the top five database management systems for 2004 to 2006 were all relational (Olofson, 2007). Object orientation is a “set of design and development principles based on conceptually autonomous computer structures known as objects.” Object-oriented programming (OOP) takes related data elements and functions, known as properties and methods, and encapsulates them into objects that may interact with other objects via messaging or act upon themselves. This strategy reduces complexity in the system, hiding it within objects that are easier to understand as concepts rather than exposing their workings within a morass of procedural code. Additionally, OOP promotes reuse of coding solutions with classes, which are built to model a generalized set of properties and methods that are implemented in object instances, which reuse the class code.
    [Show full text]
  • Versant Bro Final.Indd
    Innovation that Inspires from the Leader in Object Database Technology THE DATABASE FOR DEVELOPERS • TelecommunicaTions • Defense • f i nancial s e rvice s • li f e sci e nce s • • Tran s p orTaTion • man u facTu r i ng • on li n e gam i ng • versanT Delivering 20 Years of Performance-orienteD software innovation Versant Corporation is the industry leader Improves Versant Developer/Customer Improves Improves Operational in object database management software. Feature Benefit Agility Scalability Efficiencies Versant object database technology enables No ORM mapping, for optimal Reduces application code by software developers to create unique, transparency up to 40% ✔ extreme performance applications to manage Easy object graph navigation Achieves 10X improvement in and fast caching APIs system performance without complex information in environments that complex programming ✔ ✔ ✔ demand the highest performance and high Seamless schema evolution Shortens feature development availability. These applications do far more for shorter development sprints life cycle and improves code ✔ refactoring ability than run day-to-day business operations; they Enables test-driven development Increases code quality and define businesses and deliver competitive C++, JAVA, .NET via API-driven database setup improves time to market ✔ advantage. Versant object database solutions and teardown are deployed in more than 100,000 sites CLIENT Higher concurrent throughput Reduces cloud server costs by CACHE with fewer CPUs up to 50% ✔ ✔ across a wide range of industries, including No data duplication or Reduces storage requirements telecommunications, defense, financial redundant indexes by up to 50% ✔ ✔ MONITORING OBJECT INSPECTOR services, life sciences, transportation, oDBMS Leverages parallel processing— Increases mission-critical system manufacturing, and online gaming.
    [Show full text]
  • Nosql - Notonly Sql
    International Journal of Enterprise Computing and Business Systems ISSN (Online) : 2230-8849 Volume 2 Issue 2 July 2013 International Manuscript ID : ISSN22308849-V2I2M3-072013 NOSQL - NOTONLY SQL Dr. S. George University of New Zealand Abstract A NoSQL database provides a mechanism for storage and retrieval of data that uses looser consistency models than traditional relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. NoSQL databases are often highly optimized key–value stores intended for simple retrieval and appending operations, with the goal being significant performance benefits in terms of latency and throughput. NoSQL databases are finding significant and growing industry use in big data and real-time web applications. NoSQL systems are also referred to as "Not only SQL" to emphasize that they do in fact allow SQL-like query languages to be used. ACID vs BASE NoSQL cannot necessarily give full ACID guarantees. Usually eventual consistency is guaranteed or transactions limited to single data items. This means that given a sufficiently long period of time over which no changes are sent, all updates can be expected to propagate eventually through the system. [citation needed ]. Contents History Carlo Strozzi used the term NoSQL in 1998 to name his lightweight, open-source relational database that did not expose the standard SQL interface. Strozzi suggests that, as the International Journal of Enterprise Computing and Business Systems ISSN (Online) : 2230-8849 Volume 2 Issue 2 July 2013 International Manuscript ID : ISSN22308849-V2I2M3-072013 current NoSQL movement "departs from the relational model altogether; it should therefore have been called more appropriately 'NoREL'.
    [Show full text]
  • Quantitative Analysis of Scalable Nosql Databases
    QUANTITATIVE ANALYSIS OF SCALABLE NOSQL DATABASES by SURYA NARAYANAN SWAMINATHAN Presented to the Faculty of the Graduate School of The University of Texas at Arlington in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE IN COMPUTER SCIENCE THE UNIVERSITY OF TEXAS AT ARLINGTON December 2015 Copyright c by SURYA NARAYANAN SWAMINATHAN 2015 All Rights Reserved To my professor Dr. Ramez Elmasri ACKNOWLEDGEMENTS I express my sincere gratitude to my advisor Dr. Ramez Elmasri. I would also like to thank Dr. Leonidas Fegaras for his support. Special thanks to Professor David Levine for taking a special interest in my research beyond the call of duty. I am grateful to Professor Ronald Cross for his support, motivation and guid- ance. I would also like to thank my research mates Mr. Mohammadhani Fouladgar, Mr. Upa Gupta, Mr. Neelabh Pant and Mr. Vivek Sharma for their support and camaraderie. Finally, I extend my gratitude towards everyone in Computer Science depart- ment for the memorable experiences I had during my masters November 20, 2015 iv ABSTRACT QUANTITATIVE ANALYSIS OF SCALABLE NOSQL DATABASES SURYA NARAYANAN SWAMINATHAN, M.S. The University of Texas at Arlington, 2015 Supervising Professor: Ramez Elmasri NoSQL databases are rapidly becoming the customary data platform for big data applications. These databases are emerging as a gateway for more alternative approaches outside traditional relational databases and are characterized by efficient horizontal scalability, schema-less approach to data modeling, high performance data access, and limited querying capabilities. The lack of transactional semantics among NoSQL databases has made the application determine the choice of a particular con- sistency model.
    [Show full text]
  • Database Management Systems Ebooks for All Edition (
    Database Management Systems eBooks For All Edition (www.ebooks-for-all.com) PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sun, 20 Oct 2013 01:48:50 UTC Contents Articles Database 1 Database model 16 Database normalization 23 Database storage structures 31 Distributed database 33 Federated database system 36 Referential integrity 40 Relational algebra 41 Relational calculus 53 Relational database 53 Relational database management system 57 Relational model 59 Object-relational database 69 Transaction processing 72 Concepts 76 ACID 76 Create, read, update and delete 79 Null (SQL) 80 Candidate key 96 Foreign key 98 Unique key 102 Superkey 105 Surrogate key 107 Armstrong's axioms 111 Objects 113 Relation (database) 113 Table (database) 115 Column (database) 116 Row (database) 117 View (SQL) 118 Database transaction 120 Transaction log 123 Database trigger 124 Database index 130 Stored procedure 135 Cursor (databases) 138 Partition (database) 143 Components 145 Concurrency control 145 Data dictionary 152 Java Database Connectivity 154 XQuery API for Java 157 ODBC 163 Query language 169 Query optimization 170 Query plan 173 Functions 175 Database administration and automation 175 Replication (computing) 177 Database Products 183 Comparison of object database management systems 183 Comparison of object-relational database management systems 185 List of relational database management systems 187 Comparison of relational database management systems 190 Document-oriented database 213 Graph database 217 NoSQL 226 NewSQL 232 References Article Sources and Contributors 234 Image Sources, Licenses and Contributors 240 Article Licenses License 241 Database 1 Database A database is an organized collection of data.
    [Show full text]
  • Object and Graph Databases
    Portland State University - November 3, 2011 Object and Graph Databases Leon Guzenda - Objectivity, Inc. 1 © Objectivity, Inc. 2011 AGENDA 2 © Objectivity, Inc. 2011 OBJECT DATABASE INDUSTRY 3 © Objectivity, Inc. 2011 The ODBMS Players The Object-Oriented Database System Manifesto 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2009 2010 Matisse VBase (Ontologic) Ontos GemStone (Servio Logic Servio GemStone) Objectivity/DB InfiniteGraph ObjectStore (Object Design Excelon Progress) GBase (Graphael) Versant Object Database (Versant) O2 ( Ardent Ascential) UniSQL Poet FastObjects db4objects Note that many of these companies were founded earlier, e.g. Objectivity, Inc. Berkeley DB (Sleepycat Oracle) was founded in June 1988. 4 Leon Guzenda at ICOODB 2010 © Objectivity, Inc. 2010 Objectivity, Inc. • A privately held, profitable company founded in 1988 to provide object database software for engineering, scientific and defense applications. • Defence and Intelligence Community customers include: US DoD/DoE/DHS, BaE, Boeing, General Dynamics, L-3, Lockheed Martin, NGC, Raytheon, Titan... • Equipment manufacturing customers include: Alcatel, Ciena, Emerson, Ericsson, Iridium, NEC, Qualcomm, Siemens... • “Big Science” customers include Berkeley NL, Brookhaven NL, CERN, Lawrence Livermore NL, FermiLab, JHU Sloan Digital Sky Survey, Los Alamos NL, Max Planck... 5 © Objectivity, Inc. 2011 Technology Partnerships Are Key • High Performance Communications – Brocade, Arista Networks, Bivio Networks.. • High Performance Processing 64 Processors – Appro, Bull, Cray, Convey Computer, HP, IBM, Inspur, Tilera... on a single chip • High Capacity Memory Systems – Violin Memory, ioFusion, TMS... 8TB of RAM in 1U • Massively Scaleable File and Storage Systems – DDN, EMC, Hyperion, Kaminario, Panasas, whamcloud, Xyratex... • Visualization – Activu, Tom Sawyer, SL Graphics, 2 Petabytes 6 © Objectivity, Inc.
    [Show full text]
  • Databases Theoretical Introduction Contents
    Databases Theoretical Introduction Contents 1 Databases 1 1.1 Database ................................................ 1 1.1.1 Terminology and overview .................................. 1 1.1.2 Applications .......................................... 2 1.1.3 General-purpose and special-purpose DBMSs ........................ 2 1.1.4 History ............................................ 2 1.1.5 Research ........................................... 6 1.1.6 Examples ........................................... 6 1.1.7 Design and modeling ..................................... 7 1.1.8 Languages ........................................... 9 1.1.9 Performance, security, and availability ............................ 10 1.1.10 See also ............................................ 12 1.1.11 References .......................................... 12 1.1.12 Further reading ........................................ 13 1.1.13 External links ......................................... 14 1.2 Schema migration ........................................... 14 1.2.1 Risks and Benefits ...................................... 14 1.2.2 Schema migration in agile software development ...................... 14 1.2.3 Available Tools ........................................ 15 1.2.4 References .......................................... 15 1.3 Star schema .............................................. 16 1.3.1 Model ............................................ 16 1.3.2 Benefits ............................................ 16 1.3.3 Disadvantages .......................................
    [Show full text]
  • Extended Abstract
    Orestes: a REST protocol for horizontally scalable cloud database access Felix Gessert1 Florian Bücklers1 Norbert Ritter1 Master Student Master Student Professor [email protected] [email protected] [email protected] hamburg.de hamburg.de hamburg.de 1Computer Science Department, University of Hamburg Vogt-Kölln Straße 33, 22527 Hamburg, Germany ABSTRACT implementation options. To our best knowledge the In our poster, we are going to describe a REST/HTTP combination of the web caching model with database access database access protocol for object-oriented persistence that has not yet been researched or implemented and hence is a allows read requests to scale horizontally. Scalability is new strategy to make databases profit from web achieved by using Web Proxy Caches to serve database technologies. Web-caching is the scalability model objects, while keeping strong ACID transaction semantics implemented by the HTTP protocol [1]. We intend to show through optimistic verification mechanisms. We call this that the same scalability model that allows web sites to scale protocol Orestes (Objects RESTfully encapsulated in can also scale databases. standard formats) and validate the approach by comparative 3. CONCEPT benchmarks for a cloud computing scenario. With Orestes we aim to achieve four key properties. Table 1 1. INTRODUCTION gives a summary of the mechanisms leveraged to obtain The emergence of cloud computing and NoSQL databases them. In this section we describe how these mechanisms has demonstrated a clear demand for scalable database work, whereas the next sections describe how they are systems with cloud capable, web-based interfaces. With implemented and evaluated. Orestes we try to reconcile the desirable system properties Table 1.
    [Show full text]
  • Sistent Object-Oriented Applications 31
    Research Collection Doctoral Thesis A Seamless Framework for Object-Oriented Persistence in Presence of Class Schema Evolution Author(s): Piccioni, Marco Publication Date: 2012 Permanent Link: https://doi.org/10.3929/ethz-a-007600524 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library DISS. ETH NO. 20910 A Seamless Framework for Object-Oriented Persistence in Presence of Class Schema Evolution A dissertation submitted to ETH ZURICH for the degree of Doctor of Sciences presented by MARCO PICCIONI Laurea degree in Mathematics, Universita` degli Studi di Roma La Sapienza, Italia Master in Economics, Universita` Commerciale L. Bocconi, Italia born July 7th, 1965 citizen of Italy accepted on the recommendation of Prof. Dr. Bertrand Meyer, examiner Prof. Dr. Harald Gall, co-examiner Prof. Dr. Martin Robillard, co-examiner 2012 ACKNOWLEDGEMENTS First and foremost I thank Bertrand Meyer, for hiring me as a research assistant and for giving me the opportunity to do a PhD under his super- vision at ETH Zurich. His support and guidance made the work presented in this thesis possible, and had a decisive influence on my formation as a researcher in the past years. I also thank the co-examiners of this thesis, Harald Gall and Martin Robillard, who kindly made time in their busy schedules to co-referee this work. Among the present and past members and visitors of the Chair of Soft- ware
    [Show full text]
  • Creating High Performance Big Data Applications with the Java Persistence Api
    WHITE PAPER CREATING HIGH PERFORMANCE BIG DATA APPLICATIONS WITH THE JAVA PERSISTENCE API By Dirk Bartels & Matthew Barker, Versant Corporation Sponsored by Versant Corporation Versant Corporation U.S. Headquarters 255 Shoreline Dr. Suite 450, Redwood City, CA 94065 www.versant.com +1 650-232-2400 EXECUTIVE SUMMARY THE CASE FOR BIG DATA APPLICATIONS Design for the Unexpected Data management has reached another inflection point. A new breed of applications is pushing traditional, mostly relational New applications must database management solutions (RDBMS) beyond their limits, consider many issues driven by an ever-growing mountain of data, ubiquitous access to that are closely related information, the consumerism of IT, cloud computing, mobile to data management: computing, and, last but not least, the hunger for smarter » Velocity, volume, applications. variety, scale and concurrency, domain These volumes of data are outgrowing advances in hardware model richness, the design, while simultaneously analytics applications are pushing for value to be derived faster, near-real-time capabilities to deliver on the promise of from it, and, critically, leveraging Big Data’s benefits. It becomes clear that data immensely dynamic management software must evolve rapidly to address these demands. changing requirements. But instead of following the “one size fits » Programming all” model of the past, a more prudent approach to this new era of standards play a vital data management is to consider more closely the specific role in enabling requirements of each application implementation and use the flexibility. information management system that best meets those demands. For example, it is critical to estimate the scale of the data problem and the level of complexity (or richness) of the domain (data) model, among other important aspects, in order to pick the right data management technology(ies) to get the job done.
    [Show full text]