搭建订单系统

更新时间:
复制为 MD 格式

本文为您介绍如何使用表格存储搭建亿量级订单管理系统。

前提条件

已完成准备工作

步骤一: 创建数据表

在同一个实例下创建订单表消费者表售货员表产品表四张表。您可以通过控制台、命令行工具或SDK方式创建数据表

步骤二: 创建多元索引

为数据表创建多元索引后,表格存储会自动进行全量、增量的索引数据同步。您可以通过控制台、命令行工具或SDK方式创建和管理多元索引。具体操作,请参见快速入门通过命令行工具使用多元索引通过SDK使用多元索引

步骤三: 导入数据

插入部分测试数据。

说明

您可以通过控制台插入少量测试数据。

订单表中已插入一条测试数据,字段包括订单号(MD5主键,值为 c49f5fd5aba33159accae0d3ecd749a7)、消费者编号c0019)、消费者姓名(消陈九)、售货员编号s0020)、售货员姓名(售楚十)、产品编号p0003004)、产品名(vivo x21)、产品品牌(vivo)、产品类型(手机)、下单时间(2018-07-12:00:00)、支付状态(否)、产品单价(2498.99)、数量(2)、总价钱(4997.98)。该表包含消费者姓名、售货员姓名、产品名等冗余字段,体现了未规范化的表结构。测试数据涉及三张表。消费者表包含字段消费者编号(主键)、消费者姓名消费者积分注册时间,示例记录为c0001/消赵一/818/2018-07-07 14:33:51。售货员表包含字段售货员编号(主键)、售货员姓名售货员积分入职日期,示例记录为s0001/售赵一/613/2018-07-07 14:27:59。产品表包含字段产品编号(主键)、产品名产品品牌产品类型产品单价新增时间,示例记录为p0001001/iphone 6/苹果/手机/6969.00/2018-07-07 14:44:39

步骤四: 读取数据

数据读取分为主键读取和索引读取两类。具体说明如下:

  • 主键读取

    基于原生表格存储的主键列获取,例如GetRow、GetRange、BatchGetRow等。主键读取用于索引(自动)反查,您也可以提供主键(订单md5)的单条查询的页面给目标用户,亿量级下查询速度极快。单主键查询方式不支持多维度检索。

  • 索引读取

    基于多元索引的Search接口获取数据。您可以自由设计索引字段的多维度条件组合查询。通过设置选择不同的查询参数,构建不同的查询条件和排序方式。目前支持精确查询、范围查询、前缀查询、匹配查询、通配符查询、短语匹配查询、分词字符串查询,并通过布尔与、或组合多条件查询。

    例如c0001号消费者且消费在99.99以上的订单的组合查询方式如下:

    List<Query> mustQueries = new ArrayList<Query>();
    TermQuery termQuery = new TermQuery();
    termQuery.setFieldName("cId");
    termQuery.setTerm(ColumnValue.fromString("c0001"));
    mustQueries.add(termQuery);
    RangeQuery rangeQuery = new RangeQuery();
    rangeQuery.setFieldName("totalPrice");
    rangeQuery.setFrom(ColumnValue.fromDouble(99.99)) ;
    mustQueries.add(rangeQuery);
    BoolQuery boolQuery = new BoolQuery();
    boolQuery.setMustQueries(mustQueries);

技术支持

表格存储为您提供专业的免费的技术咨询服务,欢迎通过钉钉加入相应交流群。

  • 为互联网应用、大数据、社交应用等开发者提供的最新技术交流群有36165029092(表格存储技术交流群-3)。

    说明

    表格存储用户群11789671(表格存储技术交流群)和23307953(表格存储技术交流群-2)已满,暂时无法加入。

  • 为物联网和时序模型开发者提供的技术交流群有44327024(物联网存储 IoTstore 开发者交流群)。