 Schema-less databases Really…? In actuality, there is no such thing as a schema-less database In a relational database, the schema is explicit and created.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Dimensional Modeling.
CHAPTER OBJECTIVE: NORMALIZATION THE SNOWFLAKE SCHEMA.
Chapter 10: Designing Databases
Database Ed Milne. Theme An introduction to databases Using the Base component of LibreOffice LibreOffice.
BY LECTURER/ AISHA DAWOOD DW Lab # 3 Overview of Extraction, Transformation, and Loading.
COLUMN-BASED DBS BigTable, HBase, SimpleDB, and Cassandra.
ETEC 100 Information Technology
Databases. Database Information is not useful if not organized In database, data are organized in a way that people find meaningful and useful. Database.
Data Warehousing - 3 ISYS 650. Snowflake Schema one or more dimension tables do not join directly to the fact table but must join through other dimension.
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Introduction to Database Management
NoSQL and NewSQL Justin DeBrabant CIS Advanced Systems - Fall 2013.
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
COMP 5138 Relational Database Management Systems Semester 2, 2007 Lecture 8A Transaction Concept.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Introduction to Databases and Database Languages
Database Principles Relational Database Design I.
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
XML, distributed databases, and OLAP/warehousing The semantic web and a lot more.
Advanced Web 2012 Lecture 4 Sean Costain PHP Sean Costain 2012 What is PHP? PHP is a widely-used general-purpose scripting language that is especially.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Database Systems COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI.
Database Design for DNN Developers Sebastian Leupold.
PostgreSQL and relational databases As well as assignment 4…
Data Warehousing Seminar Chapter 5. Data Warehouse Design Methodology Data Warehousing Lab. HyeYoung Cho.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
DAY 15: ACCESS CHAPTER 2 Larry Reaves October 7,
History ChartGizmo was created by Max Kuchin and Galinkskiy Dmitriy, two software developers from Sankt- Petersburg, Russia. The first version of ChartGizmo.
Introduction to Accounting Information Systems
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Microsoft Access 2003 Define some key Access terminology: Field – A single characteristic or attribute of a person, place, object, event, or idea. Record.
Architecture for a Database System
PostgreSQL and relational databases As well as assignment 4…
Configuration Management (CM)
DATA MINING Prof. Sin-Min Lee Surya Bhagvat CS 157B – Spring 2006.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
© 2007 by Prentice Hall 1 Introduction to databases.
NOSQL DATABASES Please remember to read the NOSQL Distilled book and the Seven Databases book.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Discovering Computers Fundamentals Fifth Edition Chapter 9 Database Management.
ISetup – A Guide/Benefit for the Functional User! Mohan Iyer January 17 th, 2008.
Relational Databases. Database Large collection of data in an organised format to allow access and control DBMS Database Management System - Special software.
Caching Chapter 12. Caching For high-performance apps Caching: storing frequently-used items in memory –Accessed more quickly Cached Web Form bypasses:
MIS 327 Database Management system 1 MIS 327: DBMS Dr. Monther Tarawneh Dr. Monther Tarawneh Week 2: Basic Concepts.
DATABASE What exactly is a database How do databases work? What's the difference between a spreadsheet database and a "real" database?
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
SCUHolliday - coen 1788–1 Schedule Today u Modifications, Schemas, Views. u Read Sections (except and 6.6.6) Next u Constraints. u Read.
DATABASE MANAGEMENT SYSTEMS CMAM301. Introduction to database management systems  What is Database?  What is Database Systems?  Types of Database.
Fall 2013, Databases, Exam 2 Questions for the second exam…
Database Management Supplement 1. 2 I. The Hierarchy of Data Database File (Entity, Table) Record (info for a specific entity, Row) Field (Attribute,
CSCI 6962: Server-side Design and Programming Shopping Carts and Databases.
Databases Flat Files & Relational Databases. Learning Objectives Describe flat files and databases. Explain the advantages that using a relational database.
ASET 1 Amity School of Engineering & Technology B. Tech. (CSE/IT), III Semester Database Management Systems Jitendra Rajpurohit.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Notes: **A Row is considered one Record. **A Column is a Field. A Database is…  an organized set of stored information usually on one topic  a collection.
Database (Microsoft Access). Database A database is an organized collection of related data about a specific topic or purpose. Examples of databases include:
Building the Corporate Data Warehouse Pindaro Demertzoglou Lally School of Management Data Resource Management.
DATA TODAY L. Grewe. Whole range of solutions This class  Focus on learning Mid-end Traditional Data Systems = Relational Database Systems  Note: if.
With Temporal Tables and More
MS Access Database Connection
What Are Databases? Organized by Dr. Farrokh Alemi PhD
MANAGING DATA RESOURCES
Data Management Innovations 2017 High level overview of DB
Manuscript Transcription Assistant Initiative
Flat Files & Relational Databases
Best Practices in Higher Education Student Data Warehousing Forum
Presentation transcript:

 Schema-less databases Really…? In actuality, there is no such thing as a schema-less database In a relational database, the schema is explicit and created separately in advance In column-based database, we create a fresh schema for each row, and in fact, we often reuse schema fragments from rows that are grouped together The same is true for document databases In column-based and also in document databases, users directly query the data based on the schema In graph-based databases, we are in essence building the schema as we build the data Perhaps we could say that a key-value db has no schema, but in truth, the app is must be coded to look for & interpret schematic information

 Schema updates In a relational database, it is almost always a big deal to change a schema In “schema-less” databases, the idea is to make it as easy as possible, so that we can: dynamically keep structural information up to date – because today, this sort of information changes frequently. keep the database online – but this does not always work, or we at least have to pull part of it offline. count on the structural information of other objects to remain current – because we can surgically control exactly what objects have their schemas changed.

The schema-less approach & consequences The general idea with schema-less databases is: To treat meta data like data, as much as possible To allow much more individuality for each object Interesting side effects of this idea The database can hold much more varied forms of data Data from a schema-less database could be extracted, interpreted by the application, and then structured and stored in a relational database when necessary

Language-related factors 1. In a schema-less database, the boundary between the db and the application is lower, as much of the query/update code is written in a conventional language 2. Or, perhaps we could say that the boundary is higher, because much more complex/rich things can be done to the data directly in the database But perhaps the deciding factor is that in a schema-less database, we don’t have many the amenities – such as full ACID transactions - that a relational database would have, and so 1 above is closer to the truth.

Problems with schema-less approach If there is no explicit schema, it can be difficult to know what to change in the application if some of the data changes format, as code in many places will be doing their own data interpretations If updates and queries are written in a general purpose language, it can be harder to isolate the code that needs to be changed within the database-level code In a relational database, queries are fairly declarative

 The term “migrations” This refers to the evolution of schema information during the life-cycle of applications that use it In a relational database this is a big deal, but it is explicit In a schema-less database, we can better support incremental change The term is also used in MVC-based web development environments to refer to the indirect creation of schema components during the development of a web app Perhaps the best way to look at this term is philosophically – we want to migrate schemas, not operation is an offline-online endless loop

Maintaining backward compatibility We could create new objects or new versions of objects in order to be assured that applications can use the database as it was In a graph database, we could add new edges but not delete old ones In fact, we could view both data and metadata this way, and have an ever-growing database This is not as absurd as it might sound – for legal and business reasons, we often need to keep old data We can push old data off on faraway clusters

Reasons for using a schema Encapsulation gives us a structure that can serve as the scope of an operation We rely on structure as a differentiator so we can reuse data and retarget data No structure – bits Minimal structure – textual documents Modest structure – relational tables Medium structure – business objects High structure – CAD Extreme structure – photos, video, audio, language

Assignment 4 You will build an application using PostGreSQL and Cassandra The application will consist of a handful of operations that you will perform on each database – you can run your operations manually and have no app PostgreSQL will hold your schema based, tabular data Cassandra will hold your schema-variable data There will be two tables in PostgreSQL The first holds customers who are buying items Key for customer, customer names, item purchased for each row (FK of primary key of second table) The second will hold the items for purchase Key for item, price for item Cassandra will hold the buying history of each customer What items purchased How many of each item Price paid all of the instances of a given item – prices can change over time This is due at the beginning of class on Feb. 25.