RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍
文末提供程序和源码下载
RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。
二、Key Features ✨ 主要特点
- Instant Setup: Be productive in seconds, not days
即时设置 :在几秒钟内提高工作效率,而不是几天 - Push Any JSON: Nested objects are automatically normalized into a graph
推送任何 JSON: 嵌套对象自动规范化为图形 - Fractal API: Same query syntax everywhere - learn once, use everywhere
Fractal API:到处都是相同的查询语法 - 一次学习,到处使用 - Vector Search: Comprehensive similarity search for AI-powered applications
向量搜索 :AI 驱动的应用程序的全面相似性搜索 - Zero Schema Headaches: We handle the data structure so you can focus on building
零架构麻烦 :我们处理数据结构,因此您可以专注于构建
三、1.0 中的新增功能
- Vector Search: Comprehensive vector search with similarity aggregates and query builder support
矢量搜索 :具有相似性聚合和查询生成器支持的综合矢量搜索 - Member Management: Complete workspace membership system with invitations and access controls
成员管理 :完整的工作区会员系统,带有邀请和访问控制 - Remote Database: Connect to existing Neo4j/Aura databases
远程数据库 :连接到现有的 Neo4j/Aura 数据库 - Enhanced Auth: Google OAuth support and improved authorization flows
增强的身份验证 :Google OAuth 支持和改进的授权流程 - Documentation: Reworked docs with clear tutorials and guides
文档 :重新设计的文档,提供清晰的教程和指南
四、Quick Start 🚀 快速开始
1. Get RushDB 1. 获取 RushDB
Option A: Use RushDB Cloud (Free Tier Available)
选项 A:使用 RushDB Cloud(提供免费套餐)
# Sign up and get an API token at app.rushdb.com
# No installation required!
Option B: Self-Host with Docker
选项 B:使用 Docker 自托管
docker run -p 3000:3000 \--name rushdb \-e NEO4J_URL='neo4j+s://your-instance.neo4j.io' \-e NEO4J_USERNAME='neo4j' \-e NEO4J_PASSWORD='password' \rushdb/platform
2. Start Building 2. 开始构建
Python 蟒
from rushdb import RushDBdb = RushDB("your-api-token")# Push any nested JSON - RushDB normalizes it into a graph
db.records.create_many("COMPANY",{"name": "Google LLC","rating": 4.9,"DEPARTMENT": [{"name": "Research & Development","PROJECT": [{"name": "Bard AI","budget": 1200000000,"EMPLOYEE": [{"name": "Jeff Dean","position": "Head of AI Research",}],}],}],},
)# Traverse relationships with intuitive nested queries
employees = db.records.find({"labels": ["EMPLOYEE"],"where": {"position": {"$contains": "AI"},"PROJECT": {"DEPARTMENT": {"COMPANY": {"rating": {"$gte": 4}}}},},
})
TypeScript/JavaScript
import RushDB from '@rushdb/javascript-sdk';const db = new RushDB("your-api-token");// Push data with automatic relationship creation
await db.records.createMany({label: "COMPANY",payload: {name: 'Google LLC',rating: 4.9,DEPARTMENT: [{name: 'Research & Development',PROJECT: [{name: 'Bard AI',EMPLOYEE: [{name: 'Jeff Dean',position: 'Head of AI Research',}]}]}]}
});// Simple queries that traverse complex relationships
const aiExperts = await db.records.find({labels: ['EMPLOYEE'],where: {position: { $contains: 'AI' },PROJECT: { DEPARTMENT: { COMPANY: { rating: { $gte: 4 } } } },},
});
五、RushDB 的 Fractal API 的强大功能
RushDB uses a consistent query structure across all operations:
RushDB 在所有作中使用一致的查询结构:
interface SearchQuery {labels?: string[]; // Filter by record labelswhere?: WhereClause; // Filter by properties and relationshipslimit?: number; // Maximum records to returnskip?: number; // Records to skip (pagination)orderBy?: OrderByClause; // Sorting configurationaggregate?: AggregateClause; // Data aggregation
}
This approach means: 这种方法意味着:
- Learn Once, Use Everywhere: The same pattern works across records, relationships, labels, and properties
一次学习,随处使用 :相同的模式适用于记录、关系、标签和属性 - Predictable API: No surprises as you build more complex features
可预测的 API:当您构建更复杂的功能时,不会有任何意外 - Self-Discovering Database: The graph knows its own structure and exposes it consistently
Self-Discovering Database:图形知道自己的结构并始终如一地公开它 - Perfect for AI & RAG: AI agents can explore and generate queries on-the-fly
非常适合 AI 和 RAG:AI 代理可以即时探索并生成查询
🛠️ Self-Hosting Options 🛠️ 自托管选项
Requirements 要求
- Neo4j: Version
5.25.1
or higher
Neo4j:版本 5.25.1
或更高版本 - APOC Plugin: Required and can be installed either via volume mount or auto-install
APOC 插件 :必需,可以通过卷挂载或自动安装进行安装 - Graph Data Science Plugin: Required for advanced features like vector search and aggregations
Graph Data Science Plugin:矢量搜索和聚合等高级功能需要
Docker Compose Setup Docker Compose 设置
version: '3.8'
services:rushdb:image: rushdb/platformcontainer_name: rushdbports:- "3000:3000"environment:- NEO4J_URL=neo4j+s://your-instance.neo4j.io- NEO4J_USERNAME=neo4j- NEO4J_PASSWORD=password- RUSHDB_LOGIN=admin- RUSHDB_PASSWORD=secure-password
View all environment variables
查看所有环境变量
Development setup with local Neo4j
使用本地 Neo4j 进行开发设置
version: '3.8'
services:rushdb:image: rushdb/platformcontainer_name: rushdbdepends_on:neo4j:condition: service_healthyports:- "3000:3000"environment:- NEO4J_URL=bolt://neo4j- NEO4J_USERNAME=neo4j- NEO4J_PASSWORD=passwordneo4j:image: neo4j:5.25.1healthcheck:test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider localhost:7474 || exit 1" ]interval: 5sretries: 30start_period: 10sports:- "7474:7474"- "7687:7687"environment:- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes- NEO4J_AUTH=neo4j/password- NEO4J_PLUGINS=["apoc", "graph-data-science"]
CLI Commands CLI 命令
View available CLI commands
查看可用的 CLI 命令
Create a New User
rushdb create-user admin@example.com securepassword123
Update User Password
rushdb update-password admin@example.com newsecurepassword456
六、软件下载
迅雷云盘
本文信息来源于GitHub作者地址:GitHub - rush-db/rushdb: RushDB is an Instant Database for Modern Apps & AI. Built on top of Neo4j.
相关文章:

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...
StarRocks 全面向量化执行引擎深度解析
StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计,相比传统行式处理引擎(如MySQL),性能可提升 5-10倍。以下是分层拆解: 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...
SQL进阶之旅 Day 22:批处理与游标优化
【SQL进阶之旅 Day 22】批处理与游标优化 文章简述(300字左右) 在数据库开发中,面对大量数据的处理任务时,单条SQL语句往往无法满足性能需求。本篇文章聚焦“批处理与游标优化”,深入探讨如何通过批量操作和游标技术提…...
深度解析云存储:概念、架构与应用实践
在数据爆炸式增长的时代,传统本地存储因容量限制、管理复杂等问题,已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性,成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理,云存储正重塑数据存储与…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
C++ 类基础:封装、继承、多态与多线程模板实现
前言 C 是一门强大的面向对象编程语言,而类(Class)作为其核心特性之一,是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性,包括封装、继承和多态,同时讨论类中的权限控制,并展示如何使用类…...

表单设计器拖拽对象时添加属性
背景:因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...
简单介绍C++中 string与wstring
在C中,string和wstring是两种用于处理不同字符编码的字符串类型,分别基于char和wchar_t字符类型。以下是它们的详细说明和对比: 1. 基础定义 string 类型:std::string 字符类型:char(通常为8位)…...

CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
在现代前端开发中,Utility-First (功能优先) CSS 框架已经成为主流。其中,Tailwind CSS 无疑是市场的领导者和标杆。然而,一个名为 UnoCSS 的新星正以其惊人的性能和极致的灵活性迅速崛起。 这篇文章将深入探讨这两款工具的核心理念、技术差…...
Yii2项目自动向GitLab上报Bug
Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...
背包问题双雄:01 背包与完全背包详解(Java 实现)
一、背包问题概述 背包问题是动态规划领域的经典问题,其核心在于如何在有限容量的背包中选择物品,使得总价值最大化。根据物品选择规则的不同,主要分为两类: 01 背包:每件物品最多选 1 次(选或不选&#…...
Python第七周作业
Python第七周作业 文章目录 Python第七周作业 1.使用open以只读模式打开文件data.txt,并逐行打印内容 2.使用pathlib模块获取当前脚本的绝对路径,并创建logs目录(若不存在) 3.递归遍历目录data,输出所有.csv文件的路径…...

Qt的学习(二)
1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …...
算法刷题-回溯
今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。 对于回溯问题有几个关键点: 1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i&#x…...

工厂方法模式和抽象工厂方法模式的battle
1.案例直接上手 在这个案例里面,我们会实现这个普通的工厂方法,并且对比这个普通工厂方法和我们直接创建对象的差别在哪里,为什么需要一个工厂: 下面的这个是我们的这个案例里面涉及到的接口和对应的实现类: 两个发…...
深入解析 ReentrantLock:原理、公平锁与非公平锁的较量
ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...

鸿蒙Navigation路由导航-基本使用介绍
1. Navigation介绍 Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏、内容区和工具栏,其中内容区默认首页显示导航内容(Navigation的子组件)或非首页显示(Nav…...
JavaScript 标签加载
目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...
「Java基本语法」变量的使用
变量定义 变量是程序中存储数据的容器,用于保存可变的数据值。在Java中,变量必须先声明后使用,声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例:声明与初始化 public class VariableDemo {publi…...

CMS内容管理系统的设计与实现:多站点模式的实现
在一套内容管理系统中,其实有很多站点,比如企业门户网站,产品手册,知识帮助手册等,因此会需要多个站点,甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...

ZYNQ学习记录FPGA(二)Verilog语言
一、Verilog简介 1.1 HDL(Hardware Description language) 在解释HDL之前,先来了解一下数字系统设计的流程:逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端,在这个过程中就需要用到HDL,正文…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...

Java中HashMap底层原理深度解析:从数据结构到红黑树优化
一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一,是基于哈希表的Map接口非同步实现。它允许使用null键和null值(但只能有一个null键),并且不保证映射顺序的恒久不变。与Hashtable相比,Hash…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space
问题:IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案:将编译的堆内存增加一点 位置:设置setting-》构建菜单build-》编译器Complier...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统
核心速览 研究背景 研究问题:这篇文章要解决的问题是当前大型语言模型(LLMs)在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色,但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成(RA…...
Java中栈的多种实现类详解
Java中栈的多种实现类详解:Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...
6.计算机网络核心知识点精要手册
计算机网络核心知识点精要手册 1.协议基础篇 网络协议三要素 语法:数据与控制信息的结构或格式,如同语言中的语法规则语义:控制信息的具体含义和响应方式,规定通信双方"说什么"同步:事件执行的顺序与时序…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...