如何使用Iveely的数据存储引擎 Iveely Database

Iveely 数据存储引擎是为Iveely 搜索引擎提供数据存储的机制。

适用于:频繁数据插入、数据读取。数据更改或者删除数据不适合Iveely Database,存储结构是按照搜索引擎数据存储要求(频繁读、频繁写、几乎无删)设计,因此不是所有的数据存储都可以用Iveely Database。

安装部署

     

在下载的Iveely database中,只需要启动RunDatabase.bat,Linux下,直接启动Iveely.Database.jar,启动后,打开UI下的index.html即可看到所有当前数据存储中的数据库、表、数量等等信息。

如果UI能够正常显示,则说明数据引擎已经正常启动。

Iveely Database有两种使用方式,一个是本地应用模式,类似于access等本地数据存储,还有一个是网络远程模式,根据IP和端口号存储数据。两者均需要添加lib:Iveely.Database.jar。

本地模式

 public void localMode() {
        // 1. Create warehouse.
        Warehouse warehouse = LocalStore.getWarehouse("iveely_test");

        // 2. Create table.
        warehouse.createTable("MyTableName");
        warehouse.createColumn("MyTableName", "MyId", Types.INTEGER, true);
        warehouse.createColumn("MyTableName", "MyColumnA", Types.STRING, false);
        warehouse.createColumn("MyTableName", "MyColumnB", Types.DOUBLE, false);

        // 3. Insert data.
        int recordId = warehouse.insert("MyTableName", new Object[]{1, "this is for MyColumnA", 0.8});

        // 4. Select data.
        Object[] obj = warehouse.selectById("MyTable", recordId);
        System.out.println(obj[1]);
    }

远程模式

默认远程访问端口号:4321。代码使用示例如下:

    public void remoteMode() {

        // 1. Create connector.
        DbConnector connector = new DbConnector("iveely_text", "127.0.0.1", 4321);

        // 2. Create table.
        boolean isTableCreated = connector.createTable("MyTableName",
                new String[]{"MyId", "MyColumnA", "MyColumnB"},
                new Types[]{Types.INTEGER, Types.STRING, Types.DOUBLE},
                new boolean[]{true, false, false});
        if (isTableCreated) {

            // 3. Insert data.
            int recordId = connector.insert("MyTableName", new Object[]{1, "this is for MyColumnA", 0.8});
            System.out.println(recordId);

            // 4. Select Data.
            Object[] obj = connector.selectOne("MyTableName", recordId);
            System.out.println(obj[1]);
        }
    }

示例中是单个数据的写入和读取,实际上,也是支持批量写入和批量读取的。

上面只是简单示例,如果有疑问,请邮件我:[email protected]。

背景参考:开源搜索引擎Iveely 0.8.0 发布,终见天日

时间: 2024-10-12 08:35:40

如何使用Iveely的数据存储引擎 Iveely Database的相关文章

.net之工作流工程展示及代码分享(三)数据存储引擎

数据存储引擎是本项目里比较有特色的模块. 第一,使用接口来对应不同的数据库.数据库可以是Oracle.Sqlserver.MogoDB.甚至是XML文件.采用接口进行对应: 1 public interface IWorkflowDB 2 { 3 List<Flow> GetFlows(); 4 bool SaveFlow(Flow flow); 5 bool DeleteFlow(Guid flowId); 6 7 FlowInstance GetFlowInstanceByInstance

数据存储引擎+数据类型

数据存储引擎:核心功能是存储数据 涉及到存储数据的代码 就称之为存储引擎需求场景的不同催生了不同的引擎类别 引擎的分类:innodb CSV blackhole memory 不同的引擎测试创建表时在最后指定引擎名称 engine = xxxcreate table t1(id int)engine=innodb 总结: innodb是默认的引擎 因为 它是永久存储 并且 支持事务,行锁,外键 创建表的完整语法create table 表名(字段名称 数据类型[(长度) 约束条件],字段名称 数

MongoDB 数据存储引擎

存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始,MongoDB 支持多数据存储引擎(Storage Engine),MongoDB支持的存储引擎有:WiredTiger,MMAPv1和In-Memory. 从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine,用于将数据持久化存储到硬盘文件中,WiredTiger提供文档级别

mysql 数据存储引擎区别

一,存储类型 二 , MyISAM默认存储引擎 MyISAM 管理非事务表.是ISAM 的扩展格式.除了提供ISAM里所没有的索引的字段管理等的大量功能.MyISAM 还使用一种表格锁定的机制.来优化多个并发的读写操作.MyISAM 提供高速存储和检索.以及全文搜索能力:在MYSQL5.5.5版本及以下的所有MYSQL配置里被支持.也是默认的存储引擎. 特性: 1:不支持事务.不具备AICD特性(原子性.一致性.分离性.永久性); 2:表级别锁定形式(更新数据时锁定整个表.这样虽然可以让锁定的实

Android数据存储引擎---SQLite数据库

目标:是否可以在PC端桌面上使用SQLite数据库制作一个财务文件? 目录: 来源: 实践: 总结和比较: SQLite数据简介 是什么,内部结构是怎样的,数据库和表的关系是什么 有什么用 常用的操作是什么 SQLite数据库使用 增 删 改 查 SQLite数据库实践上的优化措施 对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,使我们轻松完成对数据的存取. 步骤1,熟悉创建数据库表,熟悉相关的操作指令,实现对SQLite数据库的感性认识 创建一个包含简单内容的数

MySQL存储引擎 SQL数据导入/导出 操作表记录 查询及匹配条件

MySQL存储引擎的配置 SQL数据导入/导出 操作表记录 查询及匹配条件 1 MySQL存储引擎的配置1.1 问题 本案例要求MySQL数据存储引擎的使用,完成以下任务操作: 可用的存储引擎类型 查看默认存储类型 更改表的存储引擎 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:查看存储引擎信息 登入MySQL服务器,查看当前支持哪些存储引擎. 使用mysql命令连接,以root用户登入: [[email protected] ~]# mysql -u root –p Enter pa

MySQL存储引擎与数据类型

1 数据存储引擎 存储引擎的概念是MySQL的一个特性,它指定了表的类型(诸如表如何存储与索引数据.是否支持事务.外键等),表在计算机中的存储方式. 1.1 MySql支持的数据存储引擎 查看引擎信息 通过命令来查看引擎信息 show engines; 默认存储引擎为InnoDB,如下列出: Engine Support Comment Transactions XA Savepoints InnoDB DEFAULT Supports transactions, row-level locki

mysql 存储引擎对比

mysql 存储引擎:存储引擎也通常被称作"表类型" 修改原始hellodb.sql存储引擎为InnoDB  sed -i '[email protected][email protected][email protected]' /home/hellodb.sql 导入修改后的sql文件  mysql -uroot -p  mydb < /home/hellodb.sql 查看表引擎,状态  mysql> show engines;    mysql> show t

mysql基础之-mysql存储引擎概述(八)

0x01 mysql 存储引擎:存储引擎也通常被称作“表类型” mysql> show engines;   --- 查看当前所有所支持的存储引擎 mysql> show table status 存储引擎格式: SHOW TABLE STATUS [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr] mysql> show table status in hellodb where Name='class'\G Name 表名 Engi