The N1QL is a developer favorite because it’s SQL for JSON. Developer’s life is going to get easier with the upcoming N1QL features. We have exciting features in many areas including language to performance, indexing to search, and tuning to transactions. This session will preview new the features for both new and advanced users.
7. 7
SQL Features
Triggers
Stored Procedures in PL-SQL,
T-SQL, languages
JSON, XML
SQL is English
for Relational
Database
SQL Invented by Don
Chamberlin &
Raymond Boyce at
IBM
N1QL, based on
SQL, is English for
JSON
N1QL was invented by
Gerald Sangudi at
Couchbase
SQL
Instance
Database
Schema
Table
Row
Column
N1QL
Cluster
Bucket
Scope
Collection
Document
Attribute
SQL
Input and Output: Set(s) of
Tuples
N1QL STMT
CREATE BUCKET
CREATE INDEX
None
SELECT
INSERT
UPDATE
DELETE
MERGE
Subqueries
JOIN
GROUP BY
ORDER BY
OFFSET, LIMIT
EXPLAIN
PREPARE
EXECUTE
GRANT ROLE
REVOKE ROLE
INFER
PREPARE
EXECUTE
ADVISE (6.6)
ADVISOR
UPDATE-STATISTICS
CREATE FUNCTION
BEGIN WORK
COMMIT WORK
SAVEPOINT
ROLLBACK
EXECUTE
FUNCTION
Set of
JSON
N1QL Model
Set of
JSON
SQL
Tooling
ODBC, JDBC, .NET
Hibernate
BI Tools
erwin
TOAD
SQL Indexes
Primary Key
Secondary Key
Composite
Range Partitioned
Expression
Functional
Spatial
Search
SQL Logic
3 valued logic
TRUE, FALSE, NULL/UNKNOWN
N1QL
Tooling
ODBC,JDBC, .NET
Couchbase SDKs
Spring
BI Tools
erwin
SQL
TRANSACTIONS
ACID
Multi-Statement
Multi-table
Mullti-Database
Savepoints
Commit
Rollback [savepoint]
2 phase locking
Multi Isolation Levels
Single node
N1QL
TRANSACTIONS
ACID
Multi-Statement
Mullti-collection
Multi-Bucket
Savepoints
Commit
Rollback [savepoint]
OCC (Optimistic)
READ COMMITTED
Distributed tx
SQL Datatypes
Numeric
Decimal
Character
Date Time
Timezone
BLOB
Spatial
JSON
N1QL
Datatype
Numeric
Boolean
Character
Array
Object
Null
JSON
Conversion Functions
SQL
Optimizer
Rule Based
Cost Based
Index Selection
Join reordering
Query Rewrites
NL, Hash, Merge join
N1QL
Optimizer
Rule Based
Cost Based
Index Selection
Join as specified
Query Rewrites(Ltd)
NL, Hash join
N1QL
Engine
(SCALE UP &
SCALE OUT)
SQL STMT
CREATE TABLE
CREATE INDEX
ALTER TABLE
SELECT
INSERT
UPDATE
DELETE
MERGE
Subqueries
JOIN
GROUP BY
ORDER BY
OFFSET, LIMIT
EXPLAIN PLAN
PREPARE
EXECUTE
GRANT
REVOKE
DESCRIBE
PREPARE
EXECUTE
TRUNCATE
N1QL
Input and Output:
Set(s) of JSON
Tuples
SQL Model
Set of
Tuples
SQL Engine
(SCALE UP)
N1QL Features
Eventing Service
UDFs (N1QL, Javascript)
Defacto JSON
N1QL Logic
4 valued logic
TRUE, FALSE,
NULL/UNKNOWN, MISSING
N1QL
Indexes
Primary
Secondary
Composite
Partial
Expression
Functional
Array Index
Search
Flex Index(6.6)
8. 8
SQL Features
Triggers
Stored Procedures in PL-SQL,
T-SQL, languages
JSON, XML
SQL is English
for Relational
Database
SQL Invented by Don
Chamberlin &
Raymond Boyce at
IBM
N1QL, based on
SQL, is English for
JSON
N1QL was invented by
Gerald Sangudi at
Couchbase
SQL
Instance
Database
Schema
Table
Row
Column
N1QL
Cluster
Bucket
Scope
Collection
Document
Attribute
SQL
Input and Output: Set(s) of
Tuples
N1QL STMT
CREATE BUCKET
CREATE INDEX
None
SELECT
INSERT
UPDATE
DELETE
MERGE
Subqueries
JOIN
GROUP BY
ORDER BY
OFFSET, LIMIT
EXPLAIN
PREPARE
EXECUTE
GRANT ROLE
REVOKE ROLE
INFER
PREPARE
EXECUTE
ADVISE (6.6)
ADVISOR
UPDATE-STATISTIC
S
CREATE FUNCTION
BEGIN WORK
COMMIT WORK
SAVEPOINT
ROLLBACK
EXECUTE FUNCTION
Set of
JSON
N1QL Model
Set of
JSON
SQL Tooling
ODBC, JDBC, .NET
Hibernate
++
SQL Indexes
Primary Key
Secondary Key
Composite
Range Partitioned
Expression
Functional
Spatial
Search
SQL Logic
3 valued logic
TRUE, FALSE, NULL/UNKNOWN
N1QL Tooling
ODBC,JDBC, .NET
Couchbase SDKs
Spring
SQL
TRANSACTIONS
ACID
Multi-Statement
Multi-table
Mullti-Database
Savepoints
Commit
Rollback [savepoint]
2 phase locking
Multi Isolation Levels
Single node
N1QL
TRANSACTIONS
ACID
Multi-Statement
Mullti-collection
Multi-Bucket
Savepoints
Commit
Rollback [savepoint]
OCC (Optimistic)
READ COMMITTED
Distributed tx
SQL Datatypes
Numeric
Decimal
Character
Date Time
Timezone
BLOB
Spatial
JSON
N1QL
Datatype
Numeric
Boolean
Character
Array
Object
Null
JSON
Conversion Functions
SQL
Optimizer
Rule Based
Cost Based
Index Selection
Join reordering
Query Rewrites
NL, Hash, Merge join
N1QL
Optimizer
Rule Based
Cost Based
Index Selection
Join as specified
Query Rewrites(Ltd)
NL, Hash join
N1QL
Engine
(SCALE UP &
SCALE OUT)
SQL STMT
CREATE TABLE
CREATE INDEX
ALTER TABLE
SELECT
INSERT
UPDATE
DELETE
MERGE
Subqueries
JOIN
GROUP BY
ORDER BY
OFFSET, LIMIT
EXPLAIN PLAN
PREPARE
EXECUTE
GRANT
REVOKE
DESCRIBE
PREPARE
EXECUTE
TRUNCATE
N1QL
Input and Output:
Set(s) of JSON
Tuples
SQL Model
Set of
Tuples
SQL Engine
(SCALE UP)
N1QL Features
Eventing Service
UDFs (N1QL, Javascript)
Defacto JSON
N1QL Logic
4 valued logic
TRUE, FALSE,
NULL/UNKNOWN, MISSING
N1QL
Indexes
Primary
Secondary
Composite
Partial
Expression
Functional
Array Index
Search
Flex Index(6.6)
38. 38
SQL Features
Triggers
Stored Procedures in PL-SQL,
T-SQL, languages
JSON, XML
SQL is English
for Relational
Database
SQL Invented by Don
Chamberlin &
Raymond Boyce at
IBM
N1QL, based on
SQL, is English for
JSON
N1QL was invented by
Gerald Sangudi at
Couchbase
SQL
Instance
Database
Schema
Table
Row
Column
N1QL
Cluster
Bucket
Scope
Collection
Document
Attribute
SQL
Input and Output: Set(s) of
Tuples
N1QL STMT
CREATE BUCKET
CREATE INDEX
None
SELECT
INSERT
UPDATE
DELETE
MERGE
Subqueries
JOIN
GROUP BY
ORDER BY
OFFSET, LIMIT
EXPLAIN
PREPARE
EXECUTE
GRANT ROLE
REVOKE ROLE
INFER
PREPARE
EXECUTE
ADVISE (6.6)
ADVISOR
UPDATE-STATISTICS
CREATE FUNCTION
BEGIN WORK
COMMIT WORK
SAVEPOINT
ROLLBACK
EXECUTE
FUNCTION
Set of
JSON
N1QL Model
Set of
JSON
SQL
Tooling
ODBC, JDBC, .NET
Hibernate
BI Tools
erwin
TOAD
SQL Indexes
Primary Key
Secondary Key
Composite
Range Partitioned
Expression
Functional
Spatial
Search
SQL Logic
3 valued logic
TRUE, FALSE, NULL/UNKNOWN
N1QL
Tooling
ODBC,JDBC, .NET
Couchbase SDKs
Spring
BI Tools
erwin
SQL
TRANSACTIONS
ACID
Multi-Statement
Multi-table
Mullti-Database
Savepoints
Commit
Rollback [savepoint]
2 phase locking
Multi Isolation Levels
Single node
N1QL
TRANSACTIONS
ACID
Multi-Statement
Mullti-collection
Multi-Bucket
Savepoints
Commit
Rollback [savepoint]
OCC (Optimistic)
READ COMMITTED
Distributed tx
SQL Datatypes
Numeric
Decimal
Character
Date Time
Timezone
BLOB
Spatial
JSON
N1QL
Datatype
Numeric
Boolean
Character
Array
Object
Null
JSON
Conversion Functions
SQL
Optimizer
Rule Based
Cost Based
Index Selection
Join reordering
Query Rewrites
NL, Hash, Merge join
N1QL
Optimizer
Rule Based
Cost Based
Index Selection
Join as specified
Query Rewrites(Ltd)
NL, Hash join
N1QL
Engine
(SCALE UP &
SCALE OUT)
SQL STMT
CREATE TABLE
CREATE INDEX
ALTER TABLE
SELECT
INSERT
UPDATE
DELETE
MERGE
Subqueries
JOIN
GROUP BY
ORDER BY
OFFSET, LIMIT
EXPLAIN PLAN
PREPARE
EXECUTE
GRANT
REVOKE
DESCRIBE
PREPARE
EXECUTE
TRUNCATE
N1QL
Input and Output:
Set(s) of JSON
Tuples
SQL Model
Set of
Tuples
SQL Engine
(SCALE UP)
N1QL Features
Eventing Service
UDFs (N1QL, Javascript)
Defacto JSON
N1QL Logic
4 valued logic
TRUE, FALSE,
NULL/UNKNOWN, MISSING
N1QL
Indexes
Primary
Secondary
Composite
Partial
Expression
Functional
Array Index
Search
Flex Index(6.6)