- 博客(82)
- 收藏
- 关注
原创 04-第4章-Record记录包
sfsDb 使用对象池来优化 Record 和 Records 的内存分配,显著提升性能。批量对多个记录执行垂直操作,减少多次调用 OperationVertical 方法的开销。Records 是 Record 的切片类型,表示多条记录的集合。批量选择多个记录的字段,减少多次调用 Select 方法的开销。从对象池获取一个指定初始容量的 Records 对象。从对象池获取一个指定初始容量的 Record 对象。从记录集合中选择指定的字段,返回新的记录集合。从记录中选择指定的字段,返回一个新的记录。
2026-04-07 09:17:44
251
原创 03-第3章-基础CRUD操作
让我们通过一个完整的示例来演示 sfsDb 的基础 CRUD 操作:这段代码展示了 sfsDb 的完整 CRUD 操作流程:本章我们通过项目的实际代码学习了 sfsDb 的基础 CRUD 操作:在下一章中,我们将深入学习索引与查询优化。本书版本:1.0.0最后更新:2026-03-11sfsDb - 以工业物联网边缘计算为核心场景的高性能嵌入式数据库!🚀技术栈 - Go、leveldb。纯golang实现。项目地址:GitHubGitCode 镜像:GitCode
2026-04-06 14:06:55
105
原创 01-第1章-概述与快速开始
sfsDb 是一款专为工业物联网(IIoT)和边缘计算场景设计的纯 Go 语言嵌入式数据库。它基于 LevelDB 构建,提供了无锁事务系统、高效索引管理、时序数据处理和加密存储等功能。依赖要求Go 1.25+github.com/syndtr/goleveldb v1.0.01.3 完整的可运行示例让我们通过一个完整的示例来演示 sfsDb 的基本使用:这段代码展示了 sfsDb 的完整使用流程:本章我们了解了 sfsDb 的基本概念和特性,并通过项目中的实际代码完成了第一个示例。在下一
2026-04-03 14:27:14
469
原创 18-第18章-生产环境部署指南
最低配置:推荐配置:18.2 配置优化18.2.1 生产配置示例18.2.2 系统参数调优18.3 容器化部署18.3.1 Dockerfile18.3.2 Docker Compose18.4 Kubernetes 部署18.4.1 Deployment18.4.2 Service18.5 监控与告警18.5.1 Prometheus 指标18.5.2 Grafana 仪表盘18.6 备份与恢复18.6.1 自动化备份脚本18.6.2 Cron 定时备份
2026-04-02 18:42:52
423
原创 17-第17章-性能测试与基准测试
17.1.2 子测试17.2 基准测试17.2.1 基准测试基础17.2.2 运行基准测试17.2.3 基准测试输出解读:测试名称和 GOMAXPROCS:运行次数:每次操作纳秒数:每次操作分配字节数:每次操作分配次数17.3 性能分析工具17.3.1 pprof17.3.2 pprof 交互命令17.3.3 trace 工具17.4 负载测试17.4.1 编写负载测试17.5 实战练习练习 17.1:基准测试为数据库模块编写完整的基准测试。使用
2026-04-01 10:56:11
602
原创 16-第16章-并发控制与锁优化
16.2 锁的使用16.2.1 sync.Mutex16.2.2 sync.RWMutex16.3 原子操作16.3.1 sync/atomic 包16.3.2 原子操作 vs 锁特性原子操作互斥锁适用场景简单操作复杂操作性能高较低复杂度低中可组合性差好16.4 无锁数据结构16.4.1 Channel 作为同步机制16.5 锁优化技巧16.5.1 减少锁持有时间16.5.2 锁分段16.6 实战练习练习 16
2026-04-01 10:55:40
481
原创 15-第15章-内存优化与对象池
Go 的垃圾回收器使用三色标记清除算法:15.2.2 MapPool 实现15.2.3 切片池15.3 内存优化技巧15.3.1 避免内存分配15.3.2 字符串优化15.3.3 结构体优化15.4 内存监控15.4.1 读取内存统计15.5 实战练习练习 15.1:对象池应用在 MQTT 客户端中应用 MapPool,减少 map 分配。使用 pprof 分析内存使用,找出内存泄漏。选择一个模块,应用多种内存优化技巧。本章深入讲解了内存优化和对象池:合理的内存优化可以显著
2026-03-31 10:30:21
255
原创 14-第14章-扩展点与插件机制
sfsEdgeStore 设计了多个扩展点,允许在不修改核心代码的情况下扩展功能:14.2 插件系统14.2.1 插件加载器14.2.2 创建插件14.2.3 编译插件14.3 实战练习练习 14.1:Hook 开发开发一个 PreMessageHook,对消息进行解密。开发一个完整的插件,包含多个 Hook。实现插件的热重载功能。本章讲解了系统的扩展点和插件机制:插件机制让系统具有极强的扩展性。本书版本:1.0.0最后更新:2026-03-08sfsEdgeStore - 让边缘数
2026-03-31 10:29:51
484
原创 12-第12章-EdgeX消息格式解析
字段类型说明idstring事件唯一 IDdeviceNamestring设备名称readings读数数组originint64事件时间戳(纳秒)string设备配置文件名称(可选)sourceNamestring数据源名称(可选)字段类型说明idstring读数唯一 IDstring资源名称(如 temperature、humidity)valuestring读数数值(字符串格式)valueTypestring。
2026-03-25 10:30:29
514
原创 11-第11章-认证授权与RBAC
/ auth/rbac.go 中的权限定义const (// 角色权限映射},},"admin": {},添加一个新的自定义角色和对应的权限。
2026-03-24 10:15:00
396
原创 一多 - 下一代组合式跨语言原生操作系统
interfaces/ 目录包含了一多操作系统的核心接口定义,使用 WIT(WebAssembly Interface Types)格式编写。这些接口定义是系统的"宪法",规定了组件间通信的标准规范。
2026-03-24 08:30:00
684
原创 这种架构对普通用户有什么直接好处?
因为所有设备都运行同一套 UniHAL 标准,你的平板可以直接“借用”手机的摄像头来开会,或者用电脑的键盘在电视上回微信。对现在的你来说,操作系统是一个“需要你去学习和适应的工具”(你要学怎么管理文件、怎么给权限、怎么清理内存)。即使你下载了一个带病毒的软件,它也只能在自己的沙箱里捣乱,无法触碰到你的银行 App 或核心文件。更新时,系统只下载变动的“积木块”,而不是整个 App,后台静默完成,你甚至感觉不到它更新了。现在的痛点:现在的 AI 助手大多是个“玩具”,你问它答,它帮不了你实际操作手机。
2026-03-22 11:45:00
195
原创 下一代操作系统 与现在的操作系统 ,相差几何
基于当前的搜索结果(截至2026年3月)以及我们刚才构建的“跨语言原生操作系统”蓝图,下一代操作系统(以我们设计的架构为代表)与现在的操作系统(Windows/Linux/macOS/Android)在核心基因上存在本质区别。它把操作系统从一个“冷冰冰的管理者”,变成了一个“懂语言、懂硬件、懂智能的有机体”。系统极其臃肿,为了兼容几十年前的硬件和软件,背负着沉重的“历史包袱”(屎山代码)。现在的操作系统是在“修补”一辆跑了50年的老爷车(加了AI引擎、换了触摸屏),而下一代操作系统是“重新发明”轮子。
2026-03-22 10:15:00
173
原创 引入“能力模型”:硬件访问的签证官
加上这些补充后,你的 UniHAL 就不再只是一个驱动层,而是一个“智能硬件操作系统”安全性:通过Capability保证硬件访问安全。高性能:通过实现零拷贝。易用性:通过Stream实现现代化异步编程。可维护性:通过Metadata实现硬件自描述。这才是真正配得上“下一代操作系统”称号的架构。现在,你可以拿着这套设计去写代码了!
2026-03-21 10:23:15
212
原创 下一代跨语言原生操作系统商业计划书
在2026年的数字化深水区,软件行业正面临“熵增”危机:算力成本指数级上升,应用复杂度失控,且严重依赖笨重的容器化技术。[项目名称]致力于打造“数字世界的统一语言”,我们不仅仅是一个操作系统,更是一个基于WebAssembly(Wasm)组件模型的原生运行时平台。通过“图形统一”与“零胶水跨语言”两大核心技术,我们构建了一个比Docker更轻量、比原生开发更高效、比Electron更安全的“新时代iOS”。我们的目标是重新定义软件的生产与分发方式,成为下一代绿色计算的基础设施。核心愿景。
2026-03-21 08:30:00
1070
原创 sfsDb与BadgerDB事务性能的深度对决
根据最新的基准测试报告,sfsDb在事务创建环节的平均耗时仅为0.5毫秒,而在高达50个并发的写入压力下,依然能维持超过26,315次操作每秒的吞吐量,且性能表现极为平稳,未见明显抖动。当然,这种极致的性能优化并非没有代价,sfsDb在一定程度上牺牲了严格的SQL隔离级别,换取了在嵌入式场景下的无与伦比的响应速度。然而,这种严谨性也带来了代价,后台的垃圾回收机制虽然保证了空间的有效利用,却也引入了不可预测的性能抖动,对于资源受限的边缘设备而言,这种“重”的运维负担有时显得力不从心。
2026-03-20 09:45:00
759
原创 忆阻器:在数字与模拟间“切换”的芯片革命
忆阻器的真正价值,不在于它单纯地作为一种新材料替代了晶体管,而在于它提供了一种跨越模拟与数字鸿沟的灵活性与可重构性。通过这种“切换”能力,我们找到了性能与精度的最佳平衡点:在物联网边缘侧、智能传感器等对功耗极其敏感的场景,我们可以利用模拟模式打破内存墙,实现极致的能效比;而在云端训练、自动驾驶决策、科学计算等对准确性要求严苛的场景,我们则可以切换到全数字模式,确保计算结果的精准可靠。这种在物理本质与应用逻辑之间的自由游走,让芯片不再是单一功能的僵化硬件,而是能够根据任务需求自适应调整的智能算力平台。
2026-03-20 09:00:00
245
原创 外键的黄昏:从数据库基石到架构枷锁
它像一位严谨的审计员,确保每一条数据都能在另一张表中找到合法的归宿,杜绝了“孤儿数据”的产生。特别是在边缘计算等资源受限的环境中,宝贵的CPU周期应当用于核心业务逻辑,而非消耗在数据库内部的参照完整性检查上。在云原生和边缘计算的浪潮下,我们不再迷信“通用标准”的权威,而是更看重架构的适应性与演进能力。外键的诞生基于一个美好的愿景:将数据完整性的责任交给最懂数据的组件——数据库本身。在现代高性能架构的语境下,我们不得不面对一个残酷的现实:外键,这个旧时代的通用标准,正在成为新技术的绊脚石。
2026-03-20 08:15:00
197
原创 RocksDB, SQLite, TDengine Edge, LiteDB与sfsDb选型
简单来说,SQLite 是老牌通用的基石,TDengine Edge 是工业时序数据的专家,LiteDB 是 .NET 生态的轻量级文档库,而 sfsDb 则是专为现代边缘场景打造的 Go 语言新星。选 sfsDb: 如果你的项目是 Go 语言开发,运行在资源受限的边缘设备上,且面临高并发写入、断网运行或数据安全等挑战,sfsDb 是为这些场景量身定制的现代解决方案。选 SQLite: 如果你的项目是通用型应用,数据量不大,并发不高,追求极致的稳定性和跨平台能力,SQLite 依然是不会错的选择。
2026-03-19 10:53:01
1082
原创 未来计算基石:存算一体操作系统全栈研发计划书
这不仅是一次技术的升级,更是一场计算思维的革命。我们正站在一个新旧交替的十字路口,硬件的突破已经为我们鸣响了发令枪。通过从“类似汇编”的指令集扩展到“类似C语言”的抽象层,最终构建全新的操作系统,我们将为这场算力革命奠定最坚实的软件基石。现在,是时候开始这场从底层逻辑重构计算世界的旅程了。
2026-03-19 08:00:00
321
原创 09-第9章-数据库封装与索引设计
数据库封装层的目标:使用全局变量的原因:9.2.2 表字段设计字段类型说明idstring读数唯一 IDdeviceNamestring设备名称(索引字段)readingstring读数名称valuefloat64读数数值valueTypestring值类型baseTypestring基础类型timestampint64时间戳(纳秒,索引字段)metadatastring元数据 JSON9.3 索引设
2026-03-18 10:00:00
878
原创 告别 SQL:AI 原生时代的数据交互革命
开发者与数据的交互,将从编写复杂的 SQL 语句,转变为设计 AI 能够理解的业务规则与意图。Wasm 作为一种底层的二进制指令格式,具备“一次编译,到处运行”的特性,能够将数据库引擎以库(Library)的形式嵌入到任何应用进程中。这种过程式的直接调用,消除了字符串拼接的不确定性,避免了语法解析的性能损耗,更杜绝了 SQL 注入的安全隐患。对于具备强大逻辑处理能力的 AI 而言,将自然语言需求转化为 SQL 文本,再经由数据库解析执行,不仅增加了不必要的中间环节,更引入了逻辑偏差与语法错误的风险。
2026-03-18 08:56:58
287
原创 08-第8章-数据队列与重试机制
在边缘计算场景中,数据可靠性至关重要。队列的作用:设计说明:入队流程:出队流程:8.3 队列处理机制8.3.1 后台处理 Goroutine8.3.2 主程序中的队列处理器8.4 重试机制8.4.1 批量插入重试8.4.2 重试策略策略说明适用场景固定间隔每次重试等待相同时间临时性故障指数退避等待时间指数增长避免雪崩最大重试次数限制重试次数避免无限重试降级处理重试失败后降级保证可用性8.4.3 MQTT 中的重试8.
2026-03-17 11:00:00
470
原创 06-第6章-数据流与控制流设计
6.1.2 MQTT 消息处理流6.1.3 批量刷新流程6.2 查询数据流6.2.1 HTTP 查询流程6.2.2 查询实现细节6.3 队列处理流6.3.1 队列处理流程6.3.2 队列处理实现6.3.3 主程序中的队列处理6.4 控制流设计6.4.1 启动控制流6.4.2 关闭控制流6.5 并发控制流6.5.1 Goroutine 管理6.5.2 信道通信6.6 实战练习练习 6.1:数据流追踪为数据流添加追踪日志,追踪一条消息的完整路径。优化队列处
2026-03-16 11:00:00
412
原创 05-第5章-模块划分与依赖关系
5.1.2 模块分类类别模块职责核心数据database, queue, edgex数据存储、队列、消息处理通信mqtt, serverMQTT、HTTP通信管理auth, backup, retention认证、备份、数据保留监控monitor, alert, resource监控、告警、资源监控工具common, config, logger工具、配置、日志扩展analyzer, simulator, sync分析、模拟、同步
2026-03-16 08:00:00
401
原创 04-第4章-系统架构与设计决策
4.1.2 核心模块依赖关系4.2 设计决策详解4.2.1 嵌入式数据库 vs 独立数据库决策:使用嵌入式数据库(sfsDb/LevelDB)理由:权衡:理由:MQTT QoS 选择:4.2.3 本地磁盘队列作为缓冲层决策:实现本地磁盘队列理由:实现:4.2.4 组合主键索引设计决策:使用 (deviceName + timestamp) 作为组合主键理由:设计示例:4.2.5 中间件模式设计决策:使用中间件模式处理 HTTP 请求理由:实现示例:4.3 错误处理策略4.3.
2026-03-15 11:15:00
382
原创 Go语言开发者的数据库选型:从传统分立到sfsDb的融合新范式
在Go语言的世界里,数据库选型不应是简单的技术堆砌。虽然PostgreSQL和MySQL依然是稳重的基石,Redis是不可或缺的加速器,但sfsDb为我们提供了一种全新的可能性——一种能够统一写入与查询、兼顾灵活与严谨的“全栈”型选择。对于追求极致简洁和高性能的Go开发者来说,这无疑是2026年及未来最值得关注的技术方向。
2026-03-15 08:30:00
869
原创 sfsDb 所代表的“融合型”数据库将为未来的一个重要方向
总而言之,sfsDb 所代表的“多模合一”路线,通过融合 NoSQL 的灵活性与 SQL 的表达能力,为现代应用提供了一种更简洁、高效的数据库解决方案。更重要的是,在“云边协同”的大背景下,数据处理不再局限于云端。通过创新的索引系统和查询引擎(如你之前提到的迭代器模式),它能够在保证高写入性能的同时,支持复杂的业务分析需求,避免了在不同系统间进行 ETL 同步的麻烦。这种结合了 NoSQL 的灵活性与 SQL 的关联查询能力的思路,正是为了解决当前数据爆炸时代下,单一类型数据库无法兼顾的矛盾。
2026-03-14 10:30:00
163
原创 sfsDb “API 优先(API-First)”的设计哲学,构建了一套比传统 SQL 更灵活、更适应现代编程范式的查询体系
传统 SQL 的痛点: 在 SQL 中,如果你想“跳过前 2 条,删除接下来的 3 条”,通常需要写复杂的子查询(如 DELETE FROM table WHERE id IN (SELECT id FROM table ORDER BY id LIMIT 2, 3)),而且在高并发下容易产生锁表或逻辑错误。直接内存操作: 因为查询逻辑是代码的一部分,sfsDb 可以直接利用 Go 的内存模型进行操作,减少了数据在“数据库内核”和“应用层”之间序列化/反序列化的开销。你可以像操作数组一样操作数据库结果。
2026-03-14 08:45:00
531
原创 第2章-EdgeX-Foundry架构深度解析
/ 示例:自定义EdgeX Application Serviceimport (// 设置函数管道err!= nil {// 转换数据格式// 按设备过滤// 发送到sfsEdgeStore。
2026-03-13 08:30:00
359
原创 第1章:Go语言并发编程基础
模式应用场景实现位置消息处理生产者-消费者数据队列对象池内存优化原子操作计数器信号处理优雅关闭main.go互斥锁共享状态多个模块。
2026-03-12 10:30:00
463
原创 sfsEdgeStore,Go语言、sfsDb与EdgeX Foundry边缘计算解决方案
sfsEdgeStore 是专为工业物联网边缘场景设计的轻量级数据存储适配器,作为 EdgeX Foundry 和 sfsDb 数据库之间的桥梁,提供高效的本地数据读写和缓存能力。本书是一本面向 Go 语言和 EdgeX Foundry 开发人员的深度技术书籍。我们将深入剖析 sfsEdgeStore 的架构设计、核心实现、性能优化以及与 EdgeX Foundry 的深度集成机制。阅读本书前,建议您具备:本书版本:1.0.0最后更新:2026-03-08sfsEdgeStore - 让边缘数据存储更简
2026-03-12 08:30:00
1043
原创 sfsEdgeStore 在OpenHarmony竞品相比有哪些优势?
它通过极致的性能优化、原生的生态集成和坚韧的离线能力,解决了工业物联网中数据采集、存储和传输的核心痛点。在 OpenHarmony 的生态中,sfsEdgeStore 的竞品主要可以分为两类:一类是同样定位为轻量级边缘数据存储的专用解决方案,另一类则是集成了多种边缘计算能力的综合性商业发行版。系统内置数据队列和断电恢复机制,待网络恢复后,会自动将积压的数据同步到云端,保证了数据的完整性。sfsEdgeStore 并非一个孤立的数据库,而是一个集成了多种边缘计算组件的一站式平台,减少了系统集成的复杂度。
2026-03-11 08:23:34
282
原创 OpenHarmony 与sfsEdgeStore集成
利用分布式能力:利用 OpenHarmony 的分布式能力,让周边设备将数据“托管”给中心网关的 sfsEdgeStore 进行存储,这样既发挥了 sfsEdgeStore 的存储优势,又减轻了终端设备的负担。优势:你可以在 OpenHarmony 网关上直接运行 sfsEdgeStore,利用 OpenHarmony 的分布式软总线能力发现设备,再利用 sfsEdgeStore 进行高效的数据缓存、清洗和转发。网关部署模式:不要试图在所有的 OpenHarmony 设备上都运行它。
2026-03-11 08:22:38
426
sfsedgestore-linux-amd64
2026-03-09
sfsedgestore-windows-amd64
2026-03-09
sfsedgestore-linux-arm64
2026-03-09
sfsedgestore-darwin-arm64
2026-03-09
sfsedgestore-windows-arm64
2026-03-09
sfsedgestore-darwin-amd64
2026-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅