## SQLiteå•表4亿订å•ï¼Œå¤§æ•°æ®æµ‹è¯•
`SQLite`ä½œä¸ºåµŒå…¥å¼æ•°æ®åº“çš„ç¿˜æ¥šï¼Œå¹¿å—æ¬¢è¿Žï¼
新生命团队自2010年以æ¥ï¼ŒæŠ•入大é‡ç²¾åЛ坹`SQLite`进行å¦ä¹ ç ”ç©¶ï¼ŒæˆåŠŸåº”ç”¨äºŽå„系统éžè‡´å‘½æ•°æ®åœºåˆã€‚
### SQLiteæžè‡´æ€§èƒ½
+ å…³é—åŒæ¥ï¼ŒSynchronous=Off,æå‡æ€§èƒ½ã€‚æ·»åˆ æ”¹æ“作时ä¸å¿…åŒæ¥ç‰å¾…写入ç£ç›˜ï¼Œæ“作系统会延迟若干毫秒批é‡å†™å…¥
+ 设置WAL模å¼ï¼ŒJournal Mode=WAL,å‡å°‘é”定。写入å‘剿—¥å¿—模å¼ï¼Œé¿å…多线程访问时é”定数æ®åº“,写入时ä¸å¿…使用排它é”å½±å“其它线程读å–,而是把事务æ“作写入到WAL文件ä¸ï¼Œå»¶è¿Ÿåˆå¹¶
+ åŠ å¤§ç¼“å˜ï¼ŒCache Size=5000,æå‡æ€§èƒ½ã€‚æ“ä½œç³»ç»Ÿé€šè¿‡æ–‡ä»¶æ˜ å°„MapFile把整个数æ®åº“æ–‡ä»¶æ˜ å°„è¿›å…¥å†…å˜ï¼Œå®žé™…æŸ¥è¯¢æ—¶ä¼šæŠŠç”¨åˆ°æ•°æ®æ‰€åœ¨é™„è¿‘é¡µé¢„å…ˆåŠ è½½è¿›å…¥ç¼“å˜ï¼Œæžå¤§æå‡æŸ¥è¯¢æ€§èƒ½
+ æ’入速度 5000~16000tps,ä¾èµ–CPU,HDD/SSD差别ä¸å¤§ï¼Œä¸»è¦å—é™äºŽSQLite.Data.dllçš„Prepare
+ 查询速度 éžé¦–次查询,缓å˜å‘½ä¸ä»¥åŽï¼Œç´¢å¼•查询基本上都是毫秒级。数æ®åº“è¾ƒå¤§åˆ™ç›¸åº”åŠ å¤§ç¼“å˜ï¼Œé€Ÿåº¦ä¸å˜ã€‚
+ 查记录数 å•表数æ®è¶…过一åƒä¸‡è¡Œä»¥åŽï¼Œå°½é‡ä¸è¦ä½¿ç”¨Select Count,å¦åˆ™å¯èƒ½éœ€è¦åå‡ ç§’åˆ°åŠåˆ†é’Ÿçš„æ ·åæ‰èƒ½è¿”回。NewLife.XCodeå°è£…了'Meta.Count'
当然,SQLiteä¸é€‚åˆå¤šçº¿ç¨‹é«˜å¹¶å‘写入,多线程高并å‘读å–倒是éžå¸¸ä¸é”™ã€‚
å› ä¸ºæ•°æ®åº“就在进程内,高并å‘读å–一般比其它RDSè¦å¿«ä¸€å¤§æˆªã€‚
总的æ¥è¯´ï¼ŒSQLiteæ•°æ®åº“ç”管多少数æ®å¤šå¤§åº“文件,åªè¦é…置得当,内å˜ç®¡å¤Ÿï¼Œæ€§èƒ½ä¸æ˜¯å¤ªå¤§é—®é¢˜ï¼
### SQLite大数æ®
为了验è¯SQLite的性能巅峰,我们æ¥åšä¸€ä¸ªå¤§æ•°æ®æµ‹è¯•。
模拟æ¯å¤©4亿票销售订å•,分表分库,æ¯å¤©ä¸€ä¸ªæ•°æ®åº“文件,有订å•å·ã€éƒ¨é—¨èŠ‚ç‚¹ã€æ—¶é—´ç‰ã€‚
1, Test项目生æˆ4äº¿è¡Œè®¢å•æ•°æ®ï¼Œä¸»é”®è‡ªå¢žID,订å•å·å»ºç«‹ç´¢å¼•,文件大å°26.5G

2, Webé¡¹ç›®ï¼Œé”æ–¹+XCode,首次查询较慢,约427毫秒,需è¦é¢„çƒ
ä¸åŒæœºå™¨çš„首次查询时间å差比较大,最大å¯èƒ½è¾¾åˆ°å‡ ç§’é’Ÿ
本机第一次å¯åŠ¨è¯¥é¡¹ç›®æ—¶ï¼Œé”æ–¹éœ€è¦ä»Žå…¬ç½‘下载SQLiteé©±åŠ¨æ–‡ä»¶ä»¥åŠæ ·å¼èµ„æºæ–‡ä»¶

3, 第二页,99毫秒,æ“ä½œç³»ç»Ÿæ–‡ä»¶æ˜ å°„ç¼“å˜ç”Ÿæ•ˆ

4, 第20000页,147毫秒,系统缓å˜ä¾ç„¶ç”Ÿæ•ˆ

5, 第200000页,32021毫秒,è·ç¦»å¤ªè¿œï¼Œæ–‡ä»¶ç³»ç»Ÿç¼“å˜æ²¡æœ‰å‘½ä¸

6, 第200001页,867毫秒,缓å˜å‘½ä¸

7, 查询一个ä¸é—´è®¢å•å·000199999980,20毫秒,索引命ä¸
显然,åªè¦æœ‰ç´¢å¼•,多大数æ®éƒ½ä¸æ€•

8, 本地内å˜å 用150M。虽然整个数æ®åº“26.5G,但æ“作系统åªä¼šåŠ è½½éœ€è¦éƒ¨åˆ†
对于é‡è¦ç¨‹åº¦ä¸æ˜¯ç‰¹åˆ«é«˜çš„场åˆï¼Œå¯ä»¥å¤§é‡ä½¿ç”¨SQLite库ä¿å˜åކ岿•°æ®ï¼Œå¹³æ—¶ç”¨ä¸åˆ°çš„æ—¶å€™åªå 硬盘,ä¸å 内å˜

9, 记录数Select Count,362058毫秒,约6分钟,超级慢

### SQLite在云端
http://bigdata.newlifex.com/Admin
admin/admin
+ 租用阿里云最低é…ç½®ECSï¼Œå•æ ¸1G,1M带宽,æ¯å¹´300å—,æ¯å¤©ä¹æ¯›é’±
+ 部署BigData项目到ECS,访问æ£å¸¸
### æºç åŠæ•°æ®åº“
å¤§æ•°æ®æºç http://git.newlifex.com/Stone/BigData
大数æ®é•œåƒ https://github.com/nnhy/BigData
4äº¿è®¢å•æ•°æ® http://pan.baidu.com/s/1skZJ2ih
2äº¿è®¢å•æ•°æ® http://pan.baidu.com/s/1bo9NFFx
æ•°æ®åº“下载åŽï¼Œè§£åŽ‹ç¼©å¾—åˆ°Data.db,拷è´åˆ°Web并排的Data里é¢ï¼ŒData里é¢è¿˜æœ‰ä¸€ä¸ªMembership.db
## 新生命项目矩阵
å„项目默认支æŒnet9.0/netstandard2.1/netstandard2.0/net4.62/net4.5,旧版(2024.0801)支æŒnet4.0/net2.0
| 项目 | 年份 | 说明 |
| :--------------------------------------------------------------: | :---: | ------------------------------------------------------------------------------------------- |
| 基础组件 | | 支撑其它ä¸é—´ä»¶ä»¥åŠäº§å“项目 |
| [NewLife.Core](https://github.com/NewLifeX/X) | 2002 | æ ¸å¿ƒåº“ï¼Œæ—¥å¿—ã€é…ç½®ã€ç¼“å˜ã€ç½‘络ã€åºåˆ—化ã€APM性能追踪 |
| [NewLife.XCode](https://github.com/NewLifeX/NewLife.XCode) | 2005 | 大数æ®ä¸é—´ä»¶ï¼Œå•表百亿级,MySql/SQLite/SqlServer/Oracle/PostgreSql/达梦,自动分表,读写分离 |
| [NewLife.Net](https://github.com/NewLifeX/NewLife.Net) | 2005 | ç½‘ç»œåº“ï¼Œå•æœºåƒä¸‡çº§åžå率(2266万tpsï¼‰ï¼Œå•æœºç™¾ä¸‡çº§è¿žæŽ¥ï¼ˆ400万Tcp长连接) |
| [NewLife.Remoting](https://github.com/NewLifeX/NewLife.Remoting) | 2011 | å议通信库,æä¾›CS应用通信框架,支æŒHttp/RPC通信框架,高åžå,物è”网设备低开销易接入 |
| [NewLife.Cube](https://github.com/NewLifeX/NewLife.Cube) | 2010 | 锿–¹å¿«é€Ÿå¼€å‘å¹³å°ï¼Œé›†æˆäº†ç”¨æˆ·æƒé™ã€SSO登录ã€OAuthæœåŠ¡ç«¯ç‰ï¼Œå•表100äº¿çº§é¡¹ç›®éªŒè¯ |
| [NewLife.Agent](https://github.com/NewLifeX/NewLife.Agent) | 2008 | æœåŠ¡ç®¡ç†ç»„件,把应用安装æˆä¸ºæ“作系统守护进程,WindowsæœåŠ¡ã€Linuxçš„Systemd |
| [NewLife.Zero](https://github.com/NewLifeX/NewLife.Zero) | 2020 | Zero零代脚手架,基于NewLife组件生æ€çš„项目模æ¿NewLife.Templates,Webã€WebApiã€Service |
| ä¸é—´ä»¶ | | 对接知åä¸é—´ä»¶å¹³å° |
| [NewLife.Redis](https://github.com/NewLifeX/NewLife.Redis) | 2017 | Redis客户端,微秒级延迟,百万级åžå,丰富的消æ¯é˜Ÿåˆ—,百亿级数æ®é‡é¡¹ç›®éªŒè¯ |
| [NewLife.RocketMQ](https://github.com/NewLifeX/NewLife.RocketMQ) | 2018 | RocketMQ纯托管客户端,支æŒApache RocketMQ和阿里云消æ¯é˜Ÿåˆ—,å亿级项目验 |
| [NewLife.MQTT](https://github.com/NewLifeX/NewLife.MQTT) | 2019 | 物è”网消æ¯å议,MqttClient/MqttServer,客户端支æŒé˜¿é‡Œäº‘物è”网 |
| [NewLife.IoT](https://github.com/NewLifeX/NewLife.IoT) | 2022 | IoTæ ‡å‡†åº“ï¼Œå®šä¹‰ç‰©è”网领域的å„ç§é€šä¿¡åè®®æ ‡å‡†è§„èŒƒ |
| [NewLife.Modbus](https://github.com/NewLifeX/NewLife.Modbus) | 2022 | ModbusTcp/ModbusRTU/ModbusASCII,基于IoTæ ‡å‡†åº“å®žçŽ°ï¼Œæ”¯æŒZeroIoTå¹³å°å’ŒIoTEdge网关 |
| [NewLife.Siemens](https://github.com/NewLifeX/NewLife.Siemens) | 2022 | 西门åPLCå议,基于IoTæ ‡å‡†åº“å®žçŽ°ï¼Œæ”¯æŒIoTå¹³å°å’ŒIoTEdge |
| [NewLife.Map](https://github.com/NewLifeX/NewLife.Map) | 2022 | 地图组件库,å°è£…百度地图ã€é«˜å¾·åœ°å›¾ã€è…¾è®¯åœ°å›¾ã€å¤©åœ°å›¾ |
| [NewLife.Audio](https://github.com/NewLifeX/NewLife.Audio) | 2023 | 音频编解ç 库,PCM/ADPCMA/G711A/G722U/WAV/AAC |
| 产å“å¹³å° | | 产å“å¹³å°çº§ï¼Œç¼–译部署å³ç”¨ï¼Œä¸ªæ€§åŒ–自定义 |
| [Stardust](https://github.com/NewLifeX/Stardust) | 2018 | æ˜Ÿå°˜ï¼Œåˆ†å¸ƒå¼æœåС平å°ï¼ŒèŠ‚ç‚¹ç®¡ç†ã€APM监控ä¸å¿ƒã€é…ç½®ä¸å¿ƒã€æ³¨å†Œä¸å¿ƒã€å‘布ä¸å¿ƒ |
| [AntJob](https://github.com/NewLifeX/AntJob) | 2019 | èš‚èšè°ƒåº¦ï¼Œåˆ†å¸ƒå¼å¤§æ•°æ®è®¡ç®—å¹³å°ï¼ˆå®žæ—¶/ç¦»çº¿ï¼‰ï¼Œèš‚èšæ¬å®¶åˆ†ç‰‡æ€æƒ³ï¼Œä¸‡äº¿çº§æ•°æ®é‡é¡¹ç›®éªŒè¯ |
| [NewLife.ERP](https://github.com/NewLifeX/NewLife.ERP) | 2021 | ä¼ä¸šERP,产å“管ç†ã€å®¢æˆ·ç®¡ç†ã€é”€å”®ç®¡ç†ã€ä¾›åº”å•†ç®¡ç† |
| [CrazyCoder](https://github.com/NewLifeX/XCoder) | 2006 | ç 神工具,众多开å‘者工具,网络ã€ä¸²å£ã€åŠ è§£å¯†ã€æ£åˆ™è¡¨è¾¾å¼ã€Modbusã€MQTT |
| [EasyIO](https://github.com/NewLifeX/EasyIO) | 2023 | 简易文件å˜å‚¨ï¼Œæ”¯æŒåˆ†å¸ƒå¼ç³»ç»Ÿä¸æ–‡ä»¶é›†ä¸å˜å‚¨ã€‚ |
| [XProxy](https://github.com/NewLifeX/XProxy) | 2005 | 产å“级åå‘代ç†ï¼ŒNAT代ç†ã€Httpä»£ç† |
| [HttpMeter](https://github.com/NewLifeX/HttpMeter) | 2022 | Http压力测试工具 |
| [GitCandy](https://github.com/NewLifeX/GitCandy) | 2015 | Gitæºä»£ç 管ç†ç³»ç»Ÿ |
| [SmartOS](https://github.com/NewLifeX/SmartOS) | 2014 | åµŒå…¥å¼æ“作系统,完全独立自主,支æŒARM Cortex-M芯片架构 |
| [SmartA2](https://github.com/NewLifeX/SmartA2) | 2019 | 嵌入å¼å·¥ä¸šè®¡ç®—机,物è”网边缘网关,高性能.NET8主机,应用于工业ã€å†œä¸šã€äº¤é€šã€åŒ»ç–— |
| FIoT物è”ç½‘å¹³å° | 2020 | 物è”网整体解决方案,建ç‘ã€çޝä¿ã€å†œä¸šï¼Œè½¯ç¡¬ä»¶åŠå¤§æ•°æ®åˆ†æžä¸€ä½“åŒ–ï¼Œå•æœºå万级点ä½é¡¹ç›®éªŒè¯ |
| UWBé«˜ç²¾åº¦å®¤å†…å®šä½ | 2020 | 厘米级(10~20cm)高精度室内定ä½ï¼Œè½¯ç¡¬ä»¶ä¸€ä½“化,与其它系统è”åŠ¨ï¼Œå¤§åž‹å±•åŽ…é¡¹ç›®éªŒè¯ |
## 新生命开å‘团队

新生命团队(NewLife)æˆç«‹äºŽ2002年,是新时代物è”网行业解决方案æä¾›è€…,致力于æä¾›è½¯ç¡¬ä»¶åº”用方案咨询ã€ç³»ç»Ÿæž¶æž„è§„åˆ’ä¸Žå¼€å‘æœåŠ¡ã€‚
团队主导的80多个开æºé¡¹ç›®å·²è¢«å¹¿æ³›åº”用于å„行业,Nuget累计下载é‡é«˜è¾¾400余万次。
团队开å‘的大数æ®ä¸é—´ä»¶NewLife.XCodeã€èš‚èšè°ƒåº¦è®¡ç®—å¹³å°AntJobã€æ˜Ÿå°˜åˆ†å¸ƒå¼å¹³å°Stardustã€ç¼“å˜é˜Ÿåˆ—组件NewLife.Redis以åŠç‰©è”网平å°FIoTï¼Œå‡æˆåŠŸåº”ç”¨äºŽç”µåŠ›ã€é«˜æ ¡ã€äº’è”网ã€ç”µä¿¡ã€äº¤é€šã€ç‰©æµã€å·¥æŽ§ã€åŒ»ç–—ã€æ–‡åšç‰è¡Œä¸šï¼Œä¸ºå®¢æˆ·æä¾›äº†å¤§é‡å…ˆè¿›ã€å¯é ã€å®‰å…¨ã€é«˜è´¨é‡ã€æ˜“扩展的产å“å’Œç³»ç»Ÿé›†æˆæœåŠ¡ã€‚
æˆ‘ä»¬å°†ä¸æ–通过æœåŠ¡çš„æŒç»æ”¹è¿›ï¼Œæˆä¸ºå®¢æˆ·é•¿æœŸä¿¡èµ–çš„åˆä½œä¼™ä¼´ï¼Œé€šè¿‡ä¸æ–的创新和å‘展,æˆä¸ºå›½å†…优秀的IoTæœåŠ¡ä¾›åº”å•†ã€‚
`新生命团队始于2002年,部分开æºé¡¹ç›®å…·æœ‰20年以上漫长历å²ï¼Œæºç 库ä¿ç•™æœ‰2010å¹´ä»¥æ¥æ‰€æœ‰ä¿®æ”¹è®°å½•`
网站:https://newlifex.com
å¼€æºï¼šhttps://github.com/newlifex
QQ群:1600800/1600838
微信公众å·ï¼š

|