数据中间件,聚焦于添删改查、性能和大数据,支持MySQL、SQLite、SqlServer、Oracle、Postgresql、TDengine、达梦、金仓、瀚高。

XCode文档:https://newlifex.com/xcode

数据中间件

功能特点:

化繁为简

建立XML数据模型后,经代码生成得到实体类,即可使用实体类对数据进行添删改查操作。

开发环境默认使用SQLite数据库,发布到生产环境时再配置连接字符串即可。

日常项目中90%的功能开发无需掌握数据库和SQL,降低对开发者的能力要求,特别是Java等其它语言转过来的开发者。

多数据库迁移

支持MySQL、SQLite、SqlServer、Oracle、Postgresql等各种主流数据库,基于XCode开发的应用无需修改编译即可迁移到另一种数据库上。甚至开发数据库和生产数据库是两种不同的数据库,例如常见SQLite开发,生产用MySql。

高性能

极致的多级缓存设计,批量操作优化,单机插入速度最高89万tps,查询速度最高18亿qps飞仙

单表查询配合内存关联(带数据缓存),降低系统复杂度并提升性能。

大数据

正式项目最大单表100亿数据,分页查询的思想贯穿上下。

根据模型表的索引自动生成各种高效的查询方法,让开发者无惧大数据表。

自动分表分库

支持任意数据库按策略自动分表分库,无需修改业务代码,XCode能够自动找到正确的表。

例如星尘跟踪数据按天分表,配置分表策略后,其它添删改查操作跟单表一样:

Meta.ShardPolicy = new TimeShardPolicy(nameof(Id), Meta.Factory)
{
    ConnPolicy = "{0}",
    TablePolicy = "{0}_{1:yyyyMMdd}",
    Step = TimeSpan.FromDays(1),
};

反向工程

根据实体类主动建立数据库表结构并初始化数据(支持所有数据库),开发阶段新增字段,在发布到生产后自动新增,开发者无需准备SQL发布脚本。

跨库数据迁移

支持任意数据库进行数据迁移。跨库数据迁移工具

XCode功能特点与最佳实践

基础篇

增删改查入门

数据模型与代码生成

实体类详解

连接字符串与功能设置

高级增删改

通用数据查询

事务处理(算准你的每一分钱)

扩展属性(替代多表关联Join提升性能)

高级查询与分页


进阶篇

读写分离(查询性能无限扩展)

反向工程(自动建表建库大杀器)

数据初始化(安装后写入默认数据)

脏数据(哪些字段将会Update到库中)

增量累加(免加锁多用户更新数据记录)

实体工厂(拦截处理实体操作)

导入导出(实体对象百变魔君)

高级统计(数据报表利器)

优化篇

数据层缓存(网站性能翻10倍)

实体列表缓存(最土的办法实现百万级性能)

对象字典缓存(百万军中取敌首级)

百亿级性能(索引的威力)

分表分库(百亿级大数据存储)

批量添删改操作(提升吞吐率)

实体队列(多线程生产的大数据集中保存)

超越篇

用户角色权限

备份恢复与同步(数据搬运专家)

大数据分析

经验篇

MySql中TinyInt(1)读取数据不正确

常见问题FAQ