Presentation is loading. Please wait.

Presentation is loading. Please wait.

NewSQL By Michael Lebedev. NewSQL Easier to learn Elegant Consistent Well defined It is not a extension or subset of SQL, and not a Object database language!

Similar presentations


Presentation on theme: "NewSQL By Michael Lebedev. NewSQL Easier to learn Elegant Consistent Well defined It is not a extension or subset of SQL, and not a Object database language!"— Presentation transcript:

1 NewSQL By Michael Lebedev

2 NewSQL Easier to learn Elegant Consistent Well defined It is not a extension or subset of SQL, and not a Object database language! It is based on top of the cross database library LDBC.cross database library LDBC

3 LDBC| Liberty DataBase Connectivity LDBC is based on ANSI-SQL and JDBC LDBC is not meant to be a persistence layer or object relation mapping. The main idea of LDBC is providing a standard way to access a SQL database from Java!

4 Are ANSI SQL and JDBC not enough? Most databases implement things differently. JDBC is a superset API and does not provide information about the features that are actually supported by each database vendor.

5 How does it work? NO LDBC vs with LDBC

6 Documentation Grammar: The SQL syntax supported Grammar Databases: The list of supported database vendors and drivers Databases JDBC API: Lists supported JDBC interfaces JDBC API Functionality: What is supported and what is not (yet) supported Functionality How to Build: The software required to build LDBC yourself How to Build FAQ: Frequently Asked Questions FAQ Download: If you want to try it out Download

7

8 INSTALATION LDBC In order to test MySQL with LDBC, you will need to do the following after installing MySQL on your machine: Start: mysql.exe --user=root mysql GRANT ALL PRIVILEGES ON *.* TO ldbc@localhost IDENTIFIED BY 'ldbc' WITH GRANT OPTION;

9 Why another language? There is just no real standard. Too many syntax rules. Data types are not portable amoung database products. Size restrictions in data types seems to be not modern. No standard for autoincrement columns / sequences. No Unicode support. NULL is not equal to NULL. It is case in-sensitive. Quoted names that are case sensitive and allow spaces in names. If there are many columns in a table, 'column counting' is required. Example: INSERT INTO TEST(many columns) VALUES(many values). No standard UPSERT command (INSERT if the row doesn't exist; UPDATE if it exists). No standard way to detect if a table (index,...) already exists. Different products have different namespace mechanisms (schemas, catalogs, databases). Comparing complete rows is not simple, because the complete column list is required.

10 What did the ANSI (American National Standards Institute) commitee wrong? Nothing C++ as SQL JAVA as NewSQL

11

12 Grammar INSERT INTO tableName [ (columnName [,...] ) ] VALUES ( value [,...] ) INSERT INTO HELLO_WORLD(ID, NAME) SELECT ID, NAME FROM OLD_TABLE UPDATE tableName SET columnName=expression [,...] [ WHERE condition ] UPDATE HELLO_WORLD SET ID=ID+1

13 REFERENCE http://ldbc.sourceforge.net/ Also check out http://www.clustrix.com/what- we-offer/features/http://www.clustrix.com/what- we-offer/features/


Download ppt "NewSQL By Michael Lebedev. NewSQL Easier to learn Elegant Consistent Well defined It is not a extension or subset of SQL, and not a Object database language!"

Similar presentations


Ads by Google