Git Product home page Git Product logo

lealone-docs's Introduction

Lealone 是什么

  • 是一个高性能的面向 OLTP 场景的关系数据库

  • 也是一个兼容 MongoDB 的高性能文档数据库

  • 同时还高度兼容 MySQL 和 PostgreSQL 的协议和 SQL 语法

Lealone 有哪些特性

高亮特性
  • 并发写性能极其炸裂

  • 全链路异步化,使用少量线程就能处理大量并发

  • 可暂停的、渐进式的 SQL 引擎

  • 基于 SQL 优先级的抢占式调度,慢查询不会长期霸占 CPU

  • 创建 JDBC 连接非常快速,占用资源少,不再需要 JDBC 连接池

  • 插件化存储引擎架构,内置 AOSE 引擎,采用新颖的异步化 B-Tree

  • 插件化事务引擎架构,事务处理逻辑与存储分离,内置 AOTE 引擎

  • 支持 Page 级别的行列混合存储,对于有很多字段的表,只读少量字段时能大量节约内存

  • 支持通过 CREATE SERVICE 语句创建可托管的后端服务

  • 只需要一个不到 2M 的 jar 包就能运行,不需要安装

普通特性
  • 支持索引、视图、Join、子查询、触发器、自定义函数、Order By、Group By、聚合
云服务版
  • 支持高性能分布式事务、支持强一致性复制、支持全局快照隔离

  • 支持自动化分片 (Sharding),用户不需要关心任何分片的规则,没有热点,能够进行范围查询

  • 支持混合运行模式,包括4种模式: 嵌入式、Client/Server 模式、复制模式、Sharding 模式

  • 支持不停机快速手动或自动转换运行模式: Client/Server 模式 -> 复制模式 -> Sharding 模式

Lealone 文档

Lealone 插件

  • 兼容 MongoDB、MySQL、PostgreSQL 的插件

  • 插件首页

Lealone 微服务框架

  • 非常新颖的基于数据库技术实现的微服务框架,开发分布式微服务应用跟开发单体应用一样简单

  • 微服务框架文档

Lealone ORM 框架

  • 超简洁的类型安全的 ORM 框架,不需要配置文件和注解

  • ORM 框架文档

Lealone 名字的由来

  • Lealone 发音 ['li:ləʊn] 这是我新造的英文单词,
    灵感来自于办公桌上那些叫绿萝的室内植物,一直想做个项目以它命名。
    绿萝的拼音是 lv luo,与 Lealone 英文发音有点相同,
    Lealone 是 lea + lone 的组合,反过来念更有意思哦。:)

Lealone 历史

lealone-docs's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lealone-docs's Issues

DDL 使用问题

create database test 之后 use test 报数据库not found ,而且提示的库名 为大写TEST

如何将列存储表的查询从600毫秒优化到100毫秒以内

有110w条记录, 查询要600毫秒, 期望优化到100毫秒以内。

        SELECT
            count(DISTINCT ( `biz_object_id` )) count,
        t1.creator_p_user_id
        FROM
            `biz_remark` t1 
        WHERE t1.`create_time` >= '2020-01-01'
        AND t1.`create_time` <= '2022-10-05'
        AND t1.biz_type_enum = 3
        AND t1.type = 2
        GROUP BY t1.creator_p_user_id
        order by count desc

表结构如下

      CREATE TABLE biz_remark (
                      id int(10)  PRIMARY key AUTO_INCREMENT,
                      biz_object_id int(11) ,
                      biz_type_enum tinyint(4) ,
                      type tinyint(3)  ,
                      latest_status int(11) ,
                      create_time datetime ,
                      update_time datetime ,
                      delete_flag tinyint(1) ,
                      creator_p_user_id int(11) ,
                      creator_p_user_name varchar(32)  ,
                      updator_p_user_id int(11) ,
                      updator_p_user_name varchar(32)  ,
                      biz_feed_back_task_id int(11) ,
                      biz_object_name varchar(512) ,
                      no_touch_flag tinyint(1),
                      creator_dept_id int(11))
          PARAMETERS (pageStorageMode='COLUMN_STORAGE')

storage_engines的parameters参数,启动时报ClassCastException

这是我在lealone.yaml里写的配置。

storage_engines:

  • name: AOSE
    enabled: true
    parameters: {
    cacheSize: 1677721600,
    pageSplitSize: 16777216,
    compress: 2
    }

Caused by: java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Integer (java.lang.String and java.lang.Integer are in module java.base of loader 'bootstrap')
at org.lealone.storage.aose.btree.BTreeStorage.getIntValue(BTreeStorage.java:102)
at org.lealone.storage.aose.btree.BTreeStorage.(BTreeStorage.java:67)
at org.lealone.storage.aose.btree.BTreeMap.(BTreeMap.java:90)
at org.lealone.storage.aose.AOStorage.openBTreeMap(AOStorage.java:82)

benchmarkSQL使用中遇到的问题

你好,又来请教了,
我们在使用benchmarkSQL的时候,遇到了新的问题
表结构能正常,插数据的时候报错了,您给看看吧
image

下图是lealone端的错误提示
image

是executeBatch使用的不对吗

IDEA社区版,运行VoiceSqlScriptTest报错

使用Lealone开发单机和分布式微服务应用.md

IDEA社区版,运行VoiceSqlScriptTest报错。路径不对

Exception in thread "main" org.lealone.common.exceptions.JdbcSQLException: IO Exception: "java.io.FileNotFoundException: ..\voice-dal\src\main\resources\tables.sql (系统找不到指定的路径。)"; "../voice-dal/src/main/resources/tables.sql"; SQL statement:
RUNSCRIPT FROM '../voice-dal/src/main/resources/tables.sql' [90031-0]
	at org.lealone.common.exceptions.DbException.getJdbcSQLException(DbException.java:340)
	at org.lealone.common.exceptions.DbException.get(DbException.java:161)
	at org.lealone.common.exceptions.DbException.convertIOException(DbException.java:326)
	at org.lealone.sql.dml.ScriptBase.openInput(ScriptBase.java:164)
	at org.lealone.sql.dml.RunScript.update(RunScript.java:53)
	at org.lealone.sql.executor.DefaultYieldableLocalUpdate.executeInternal(DefaultYieldableLocalUpdate.java:22)
	at org.lealone.sql.executor.YieldableBase.run(YieldableBase.java:109)
	at org.lealone.db.session.ServerSession$YieldableCommand.run(ServerSession.java:1501)
	at org.lealone.server.Scheduler.executeNextStatement(Scheduler.java:232)
	at org.lealone.server.Scheduler.run(Scheduler.java:103)
Caused by: java.io.FileNotFoundException: ..\voice-dal\src\main\resources\tables.sql (系统找不到指定的路径。)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:111)
	at org.lealone.storage.fs.FilePathDisk.newInputStream(FilePathDisk.java:313)
	at org.lealone.storage.fs.FileUtils.newInputStream(FileUtils.java:217)
	at org.lealone.sql.dml.ScriptBase.openInput(ScriptBase.java:162)
	... 6 more

	at org.lealone.net.TransferConnection.parseError(TransferConnection.java:66)
	at org.lealone.net.TcpClientConnection.handleResponse(TcpClientConnection.java:101)
	at org.lealone.net.TransferConnection.handle(TransferConnection.java:123)
	at org.lealone.net.nio.NioEventLoop.read(NioEventLoop.java:208)
	at org.lealone.net.nio.NioEventLoopClient.run(NioEventLoopClient.java:74)
	at org.lealone.net.nio.NioEventLoopClient.lambda$0(NioEventLoopClient.java:46)
	at java.base/java.lang.Thread.run(Thread.java:833)

楼主能否支持IDEA开发?
系统环境:window11

ubuntu 编译出错

想找一项目学习一下 java ,没有想到编译出错了
mvn clean package assembly:assembly -Dmaven.test.skip=true
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] lealone database project
[INFO] lealone-common
[INFO] lealone-net
[INFO] lealone-client
[INFO] lealone-db
[INFO] lealone-sql
[INFO] lealone-server
[INFO] lealone-aote
[INFO] lealone-aose
[INFO] lealone-orm
[INFO] lealone-web
[INFO] lealone-main
[INFO] lealone-test
[INFO] lealone-dist
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building lealone database project 5.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ lealone ---
[INFO]
[INFO] >>> maven-source-plugin:2.4:jar (attach-sources) > generate-sources @ lealone >>>
[INFO]
[INFO] <<< maven-source-plugin:2.4:jar (attach-sources) < generate-sources @ lealone <<<
[INFO]
[INFO] --- maven-source-plugin:2.4:jar (attach-sources) @ lealone ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building lealone-common 5.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ lealone-common ---
[INFO] Deleting /home/shenwei/test/lealone/lealone-common/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ lealone-common ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ lealone-common ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 231 source files to /home/shenwei/test/lealone/lealone-common/target/classes
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Skipping lealone database project
[INFO] This project has been banned from the build due to previous failures.
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] lealone database project ........................... SUCCESS [ 0.284 s]
[INFO] lealone-common ..................................... FAILURE [ 0.393 s]
[INFO] lealone-net ........................................ SKIPPED
[INFO] lealone-client ..................................... SKIPPED
[INFO] lealone-db ......................................... SKIPPED
[INFO] lealone-sql ........................................ SKIPPED
[INFO] lealone-server ..................................... SKIPPED
[INFO] lealone-aote ....................................... SKIPPED
[INFO] lealone-aose ....................................... SKIPPED
[INFO] lealone-orm ........................................ SKIPPED
[INFO] lealone-web ........................................ SKIPPED
[INFO] lealone-main ....................................... SKIPPED
[INFO] lealone-test ....................................... SKIPPED
[INFO] lealone-dist ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.885 s
[INFO] Finished at: 2022-09-06T17:42:41-07:00
[INFO] Final Memory: 13M/221M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project lealone-common: Fatal error compiling: 无效的标记: --release -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :lealone-common

端口错误

文档中CRUDExample中的String url = "jdbc:lealone:tcp://localhost:7210/lealone"; 这里端口是7210应该是写错了吧,应该是9210吧

Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;

Lealone version: 5.0.0-SNAPSHOT
Loading config from file:/Users/marklee/Downloads/lealone-5.0.0/conf/lealone.yaml
Base dir: ../data
Init storage engines: 8 ms
Init transaction engines: 102 ms
Init sql engines: 2 ms
Init protocol server engines: 45 ms
Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
at org.lealone.db.DataBuffer.getAndFlipBuffer(DataBuffer.java:489)
at org.lealone.transaction.aote.log.UndoLog.toRedoLogRecordBuffer(UndoLog.java:120)
at org.lealone.transaction.aote.AMTransaction.createLocalTransactionRedoLogRecord(AMTransaction.java:223)
at org.lealone.transaction.aote.AMTransaction.writeRedoLog(AMTransaction.java:258)
at org.lealone.transaction.aote.AMTransaction.commitLocal(AMTransaction.java:294)
at org.lealone.transaction.aote.AMTransaction.commit(AMTransaction.java:284)
at org.lealone.db.session.ServerSession.commit(ServerSession.java:573)
at org.lealone.db.session.ServerSession.commit(ServerSession.java:542)
at org.lealone.db.session.ServerSession.stopCurrentCommand(ServerSession.java:896)
at org.lealone.sql.executor.YieldableBase.stop(YieldableBase.java:193)
at org.lealone.sql.executor.YieldableBase.run(YieldableBase.java:117)
at org.lealone.sql.StatementBase.syncExecute(StatementBase.java:532)
at org.lealone.sql.StatementBase.executeUpdate(StatementBase.java:629)
at org.lealone.sql.StatementBase.executeUpdate(StatementBase.java:595)
at org.lealone.db.Database.createRootUserIfNotExists(Database.java:2162)
at org.lealone.db.LealoneDatabase.(LealoneDatabase.java:55)
at org.lealone.db.LealoneDatabase.(LealoneDatabase.java:32)
at org.lealone.main.Lealone.init(Lealone.java:120)
at org.lealone.main.Lealone.run(Lealone.java:61)
at org.lealone.main.Lealone.main(Lealone.java:42)
Exception in thread "CheckpointService" java.lang.NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
at org.lealone.db.DataBuffer.grow(DataBuffer.java:547)
at org.lealone.db.DataBuffer.ensureCapacity(DataBuffer.java:523)
at org.lealone.db.DataBuffer.limit(DataBuffer.java:375)
at org.lealone.storage.aose.btree.chunk.Chunk.write(Chunk.java:269)
at org.lealone.storage.aose.btree.BTreeStorage.executeSave(BTreeStorage.java:419)
at org.lealone.storage.aose.btree.BTreeStorage.save(BTreeStorage.java:390)
at org.lealone.storage.aose.btree.BTreeMap.save(BTreeMap.java:548)
at org.lealone.transaction.aote.AMTransactionEngine$CheckpointService.checkpoint(AMTransactionEngine.java:362)
at org.lealone.transaction.aote.AMTransactionEngine$CheckpointService.run(AMTransactionEngine.java:380)
Exception in thread "Thread-3" java.lang.NoClassDefFoundError: Could not initialize class org.lealone.db.LealoneDatabase
at org.lealone.db.Database.close(Database.java:1216)
at org.lealone.db.DatabaseCloser.run(DatabaseCloser.java:64)

用 lealone 代替nacos能做到吗

用 lealone 代替nacos能做到吗
不能的话,自己开发可以数据库支持么

想把现在的spirng微服务 nacos 替换成 lealone。新的项目用 lealone,旧的微服务注册在lealone上面

如何建一张列式存储引擎的表

有几小问题,想请教一下作者,辛苦解答, 万分感激。

疑问1. 如何建一张列式存储引擎的表?
疑问2. 存储引擎的用户配置和选项有哪些?
疑问3. 想了解下PageStorageMode类里的 ROW_STORAGE,COLUMN_STORAGE的大概的执行流程和逻辑规则是什么?
疑问4. 想了解下,一张表120w行,6个字断,平均每行数据90Byte的表。执行下面的sql效果会不会比mysql表现要好?

select count(DISTINCT u_id), left(create_time,10)
from table
where create_time > #{begin} and create_time < #{end}
group by left(create_time,10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.