Sign inSign up

dingodatabase/dingo

By dingodatabase

Updated 4 months ago

https://github.com/dingodb/dingo

Image
0

10K+

dingodatabase/dingo repository overview

Release Notes v0.4.0

1. Feature and Optimization about SQL

1.1 Features about SQL
1.1.1 Extended SQL Syntax
  • Support TTL when create table using options
  • Support to assign partitions when create table
1.1.2 Features about Complex Data Type
  • Support Operations about MAP
  • Support Operations about MultiSet
  • Support Operations about Array
1.1.3 Support to use variables in SQL statement, such as insert, select, delete.
1.1.4 Support stratagy to control messages transmitted between operators in execution plan
1.1.5 Support new SQL function
NoFunction NameDescription about Function
1pow(x,y)The POW() function returns the value of a number raised to the power of another number
2round(x,y)The ROUND() function rounds a number to a specified number of decimal places
3ceiling(x)The CEILING() function returns the smallest integer value that is bigger than or equal to a number
4floor(x)The FLOOR() function returns the largest integer value that is smaller than or equal to a number
5mod(x,y)The MOD() function returns the remainder of a number divided by another number
6abs(x)The ABS() function returns the absolute (positive) value of a number.
1.2 Optimization about SQL
  • Optimizate query using range filter
  • Optimizate query about range scan
  • Optimizate type system about dingo internally
  • Optimization about SQL date/time/timestamp function

2. Operation of Key-Value

2.1 Equivalent operation of Key-Value and SQL
  • Support to do table operation using Key-Value API, such as create table, drop table
  • Support to insert, update, delete record in table using Key-Value API
  • Support to do table operation using Annotation API
  • Operations about table and record are equivalent between Key-Value API and SQL
2.2 Operation lists about Key-Value SQL
2.2.1 Basic Key-Value Operation
NoFunction NameDescription about Function
1putinsert or update records in table
2getquery records by user key
3deletedelete records by user key
2.2.2 Numerical operations
NoFuncation NameDescription about Function
1addadd values on same data type
2sumcalculate the summary of columns filtered by keys
3maxcalculate the max of columns filtered by keys
4mincalculate the min of columns filtered by keys
2.2.3 Compound operation
NoFunction NameDescription about Function
1Operatedo multiple operations on a single record, the operation list can be numerical operation or basic operation
2OperateListdo multiple operations on a single record
3UDFdefined using LUA script to implement user define function
2.2.4 Collection operations
NoTypeFunction NameDescription about Function
1readsizeget size of the elements
2readget_allget all the elements of collection
3readget_by_keyget all the elements of collection by input key
4readget_by_valueget all the elements of collection by input value
5readget_by_index_rangeget all the elements of collection by range index
6writeputappend a element to the end
7writeclearclear all the elements of collection
8writeremove_by_keyremove the key from collection
9writeremove_all_by_valueremove all records match the value
10writeremove_by_indexremove record by index
2.2.5 Filter operations
  • DateFilter

Query records using range filter with Date type.

  • NumberRange

Query records using range filter with Numberic type.

  • StringRange

Query records using range filter with String type

  • ValueEquals

Query records with specifiy record value.

3. Optimization about Storage

3.1 Distributed Consistency Protocol
  • Refactor the implements of raft protocol to replace sofa-jraft
  • Refactor the implements about log replication and leader selection
  • Support new serialization about key and value
3.2 Improvement about Rocksdb
  • Rocksdb can load configuration by files
  • Support TTL features using user timestamp
  • Update Rocksdb version and release package about io.dingodb. on maven central

4. Other features

  • Support parameters using JDBC connection such as timeout
  • Support explain to view plan about Dingo SQL
  • Support to release related package to maven-central
NoModuleDescription about module
1dingo-driver-clientthe jdbc driver client used by sql
2dingo-sdkthe key-value sdk client to do operation about key-value
3dingo-rocksdbExtended features on rocksdb

Tag summary

Content type

Image

Digest

sha256:4520ab2bd

Size

2.8 GB

Last updated

4 months ago

docker pull dingodatabase/dingo:develop-latest