01-第1章-概述与快速开始
第 1 章概述与快速开始1.1 sfsDb 简介sfsDb 是一款专为工业物联网IIoT和边缘计算场景设计的纯 Go 语言嵌入式数据库。它基于 LevelDB 构建提供了无锁事务系统、高效索引管理、时序数据处理和加密存储等功能。核心特性纯 Go 实现无需 CGO跨平台编译简单创新性地将 NoSQL 的高并发写入能力与 SQL 的复杂查询能力融合在一个系统中无锁事务基于 OCC乐观并发控制的高性能事务系统多种索引支持主键、普通索引、复合索引和全文索引时序数据优化内置时间窗口计算和数据聚合功能加密存储支持 AES-256-GCM 加密嵌入式设计无需独立服务器进程1.2 环境搭建安装 sfsDbgo get github.com/liaoran123/sfsDb依赖要求Go 1.25github.com/syndtr/goleveldb v1.0.01.3 完整的可运行示例让我们通过一个完整的示例来演示 sfsDb 的基本使用packagemainimport(fmtosgithub.com/liaoran123/sfsDb/enginegithub.com/liaoran123/sfsDb/storage)funcmain(){fmt.Println( sfsDb 数据库实战 - 第 1 章Hello World 示例 )fmt.Println()dbPath:./bible_examples_chapter01_dbcleanup(dbPath)fmt.Println(1. 初始化数据库)_,err:storage.GetDBManager().OpenDB(dbPath)iferr!nil{fmt.Printf(数据库打开失败: %v\n,err)return}deferstorage.GetDBManager().CloseDB()fmt.Println( ✓ 数据库打开成功)fmt.Println()fmt.Println(2. 创建用户表)userTable,err:engine.TableNew(users)iferr!nil{fmt.Printf(创建表失败: %v\n,err)return}fmt.Println( ✓ 表创建成功)fmt.Println()fmt.Println(3. 设置字段)userFields:map[string]any{id:0,// 用户IDname:,// 用户名age:0,// 年龄email:,// 邮箱address:,// 地址}erruserTable.SetFields(userFields)iferr!nil{fmt.Printf(设置字段失败: %v\n,err)return}fmt.Println( ✓ 字段设置成功)fmt.Println()fmt.Println(4. 创建主键索引)primaryKey,err:engine.DefaultPrimaryKeyNew(pk_id)iferr!nil{fmt.Printf(创建主键索引失败: %v\n,err)return}primaryKey.AddFields(id)erruserTable.CreateIndex(primaryKey)iferr!nil{fmt.Printf(创建索引失败: %v\n,err)return}fmt.Println( ✓ 主键索引创建成功)fmt.Println()fmt.Println(5. 插入测试数据)testUser:map[string]any{id:1,name:张三,age:28,email:zhangsanexample.com,address:北京市朝阳区,}_,erruserTable.Insert(amp;testUser)iferr!nil{fmt.Printf(插入数据失败: %v\n,err)return}fmt.Println( ✓ 测试数据插入成功)fmt.Println()fmt.Println(6. 查询测试数据)searchFields:map[string]any{id:1}dataIter,_:userTable.Search(amp;searchFields)deferdataIter.Release()records:dataIter.GetRecords(true)deferrecords.Release()iflen(records)gt;0{fmt.Println( ✓ 查询成功)fmt.Printf( 用户信息: %v\n,records[0])}else{fmt.Println( ✗ 查询失败未找到记录)}fmt.Println()fmt.Println( 恭喜sfsDb 入门成功 )fmt.Println()fmt.Println(接下来请继续阅读第 2 章了解 sfsDb 的核心概念与架构。)}funccleanup(pathstring){os.RemoveAll(path)}这段代码展示了 sfsDb 的完整使用流程初始化数据库通过storage.GetDBManager().OpenDB()打开数据库创建表使用engine.TableNew()创建表设置字段通过SetFields()定义表结构创建索引使用CreateIndex()创建主键索引插入数据使用Insert()插入测试数据查询数据使用Search()查询并验证结果1.4 小结本章我们了解了 sfsDb 的基本概念和特性并通过项目中的实际代码完成了第一个示例。在下一章中我们将深入了解 sfsDb 的核心架构和设计思想。本书版本1.0.0最后更新2026-03-11sfsDb- 以工业物联网边缘计算为核心场景的高性能嵌入式数据库技术栈- Go、leveldb。纯golang实现。项目地址GitHubGitCode 镜像GitCode
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2483449.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!