3个版本
0.1.2 | 2023年7月19日 |
---|---|
0.1.1 | 2023年7月19日 |
0.1.0 | 2023年7月19日 |
#1860 在 数据库接口
23KB
273 行
Galaxy
Galaxy是一个基于节点、可扩展、用Python编写的多媒体数据库系统。本crate包含了与Rust的绑定,Rust是一种高性能、表达力强的语言。请查看主仓库这里。
为什么?
Galaxy提供了一种存储数据的方法,不受现有限制(如文件夹)的影响。作为一个库,Galaxy旨在提供一种类似于人类大脑的数据存储方法,并自动搜索和查找包含类似数据或讨论类似主题的节点之间的联系,从而实现快速轻松的文件管理,并在以后提供简单准确的搜索。然而,Galaxy最引人注目的是其可扩展性。要在Galaxy中添加对另一种数据类型的支持,就像编写Galaxy提供的NodeInterface和IngestManagerInterfaces的子类一样简单,然后将您的代码放在一个模块文件夹中。
嘿,这听起来有点像Obsidian!
如果您在Galaxy的数据存储范式和Obsidian之间看到相似之处,您是对的。然而,Galaxy的目标是要比Obsidian更可扩展,同时更适应由代码而不是人工维护的实时数据库。最终,Galaxy和Obsidian的目标是相似的:帮助人们用第二思维存储数据。然而,与Obsidian不同,Galaxy允许您将任何您喜欢的用户界面放在它前面。
为什么这个crate使用Python?Rust不是应该很快吗?这不是适得其反吗?
这是一个很好的观点。然而,模块是用Python编写的,以保留数据库的易于扩展性,使其能够支持尽可能多的不同文件类型。
如果性能最终成为问题,我将重写这个库的大部分内容,将其作为由Python调用的外部Rust库,以提高性能。然而,目前我认为当前状态是可以接受的。
依赖
~2.5–7.5MB
~54K SLoC