0

0

Jinbase – 多模型事务嵌入式数据库

DDD

DDD

发布时间:2024-12-01 11:45:01

|

388人浏览过

|

来源于dev.to

转载

jinbase – 多模型事务嵌入式数据库

嗨,开发者!

我是 Alex,一名技术爱好者。我很高兴向您展示 Jinbase,我的多模型事务嵌入式数据库。

大约一年前,我介绍了 Paradict,这是我对多格式流序列化的看法。鉴于其可读性,Paradict 文本格式实际上是配置文件的一种有趣的数据格式。但是使用 Paradict 来管理配置文件最终会使其编程界面变得混乱,并使那些仍然可以选择专用于配置文件的替代库(TOML、INI 文件等)的用户感到困惑。所以我使用 Paradict 作为 KvF(键值文件格式)的依赖项,这是我的一个新项目,专注于带有部分的配置文件。

凭借其紧凑的二进制格式,我认为 Paradict 将成为一个新项目的有效依赖项,该项目将依赖 I/O 函数(例如 Open、Read、Write、Seek、Tell 和 Close)来实现简约但可靠的功能持久性解决方案。但那是在我了解到“文件很难”之前。 SQLite 及其事务、BLOB 数据类型和 BLOB 的增量 I/O 似乎是我的新项目的正确选择。

Jinbase 最初只是一个键值存储,最终成为一个多模型嵌入式数据库,突破了我们通常使用 SQLite 所做的事情的界限。当我意识到键值存储不太适合为每个新记录自动生成唯一标识符 (UID) 的情况时,第一次转换到第二个数据模型(仓库),从而为用户节省了时间提供可能意外发生冲突并因此覆盖现有记录的标识符的负担。之后,我实现了一种搜索功能,该功能接受仓库存储的 UID 范围、仓库和键值存储的时间跨度(记录自动带有时间戳)以及键值存储中字符串和整数键的 GLOB 模式和数字范围.

队列和堆栈数据模型是作为必须按特定顺序使用记录的用例的解决方案而出现的。典型的记录将在单个事务单元中从数据库中检索和删除。

由于使用SQLite作为存储引擎,Jinbase事实上支持关系模型。为了方便起见,与 Jinbase 内部相关的所有表都以 jinbase_ 为前缀,这使得 Jinbase 成为打开旧版 SQLite 文件以添加与临时关系模型安全共存的新数据模型的有用工具。

SmartB2B行业电子商务
SmartB2B行业电子商务

SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板

下载

所有四种主要数据模型(键值、仓库、队列、堆栈)都支持与 Paradict 兼容的数据类型,例如字典、字符串、二进制数据、整数、布尔值、日期时间等。在幕后,当用户发起写操作,Jinbase 会迭代序列化(二进制数据除外)、分块并存储数据。一条记录不仅可以批量访问,还可以有两种级别的部分访问粒度:字节级和字段级。

虽然 SQLite 的 BLOB 增量 I/O 旨在针对一行中的单个 BLOB 列,但 Jinbase 对此进行了扩展,以便对于每个记录,增量读取覆盖所有块,就好像它们是单个统一的 BLOB 一样。仅对于字典记录,Jinbase 自动创建并维护一个由指向根字段的指针组成的轻量级索引,然后允许从任意记录中提取在返回之前自动反序列化的字段内容。

Jinbase 最明显的用例是存储用户首选项、退出前保留会话数据、基于顺序的数据流处理、向其他进程公开数据、使用新数据模型升级旧版 SQLite 文件以及定制数据持久性解决方案。

Jinbase 用 Python 编写,可在 PyPI 上使用,您可以使用 README 中的示例。

让我知道您对这个项目的看法。

项目链接:https://github.com/pyrustic/jinbase

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

716

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

627

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

739

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1236

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

575

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

699

2023.08.11

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

65

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Django 教程
Django 教程

共28课时 | 2.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号