FarelDB 简介
前言
FarelDB(Fast Relational Database )是由ANSI C++语言编写的一套跨平台支持网络的软件开发中间件。FarelDB 内置多种服务以加快软件开发为目标。FarelDB提供关系型实时内存数据库,key-value实时内存数据库,分布式发布订阅消息中间件,远程过程调用(RPC)中间件,基于TCP/UDP的通讯中间件,支持RESTful接口,提供扩展的脚本支持等。其中内存数据库是其核心服务,具有多种数据结构,包括:关系型二维表(table),字符串(string),哈希(hash),列表(list),集合(set)及有序集合(sorted set)。在性能上,FarelDB内置高性能主备同步,LRU回收,事务及不同级别磁盘持久化功能,遵循 ISO/IEC 9899:2011(C++ 11) 标准和规范,支持分布式部署、支持SQL语言并提供多种开发语言API。
一、 FarelDB是什么
-
FarelDB是一款免费使用的具有多种特性的中间件软件。
-
FarelDB是一个支持SQL的关系型实时库中间件;
-
FareDB是一个支持No-sql的实时库中间件;
-
FarelDB是一个支持快速创建TCP(Tcp-client以及Tcp-server)或者UDP通信通道,并且提供通道实时监测、通道历史统计以及通信报文实时推送的通信服务中间件。
-
FarelDB是一个支持lua脚本的可以用来做流计算的中间件。
-
FarelDB是一个分布式部署的支持发布/订阅的消息中间件。
-
FarelDB是一个提供RPC服务的RPC中间件。
二、 FarelDB的优势
-
超高的读写性能:对二维表的更新速度达到 1百万行/秒,对key-value的读取速度达到 1百万次/秒,写入速度达到 1百万次/秒。
-
丰富的数据类型;支持table, Strings, Lists, Hashes, Sets 及 有序 Sets 数据类型操作;
-
支持SQL语言的高性能关系型实时库操作,支持开发者在内存中通过SQL语言创建关系二维表,支持语句包括:create database,create table,select,delete,update,insert等;
-
具有原子操作特性并支持事务
-
支持订阅/发布,Key过期特性
-
提供多种类语言相互远程过程调用(RPC)服务
-
提供基于TCP/UDP的通讯中间件服务
-
支持分布式部署以及节点状态监控