GE的Predix使用了图形数据库作为Asset存储,用以解决传统RDBMS系统中扩展性差,不支持行的动态定义问题。

对于实体,或者Asset来说,由如下几个方面表述:
  • ID: Ties everythings happens to asset together
  • Structure:How the Asset data is stored (RDBMS, etc)
  • Repressentation:How the Asset data is logically expressed(JSON, XML, etc)
GE认为大多数项目失败在于它们将这个概念融合起来了,而GE则将其清晰的分割。
  • ID:Globally unique identifier
  • Structure:Graph database
  • Repressentation:JSON
通过将Asset使用图形数据库建模和存储,解决了如下问题:
  • Overcome mathematical scale problems
  • Queries and operations as path expressions
 
传统数据库在关系处理能力上大大弱与图形数据库。
 
Predix也有类型和分类的概念。
 
如:
Classification: 来源于 类型理论,将Asset进行分类,  "is a"
Groups and tags: 来源于 集合理论,将Asset进行分组"is a member of"
Catalog: 自定义组织规则并且通过catalog分享
 
Knowledgy Graph :
在IOT领域内,资产(实体)是不断增长和变化的,传统的asset建模使用预先定义好的schema,由此导致结构和关系不能扩展并很难响应变化和需求。knowledge graph在IOT领域内得到了很好的应用。Knowledge graph不需要预先定义的sehema和预先设计。可以通过当前的理解进行建模,并提供面向内容的视角。
 
如:
找出电力缺乏的资产
找出在某一地理范围内的资产
找出由最优供应商提供部件的资产
 
总结:
Predix提供了IOT领域建模的另外一种思路,与我们现有的只使用图形数据库保存关系不同,Predix走的更远,其不进行预先的schema定义,而是通过knowledge graph层进行业务含义上的抽象。因此其对于模型的变化和响应具有最大的适应性。
 
另外,classification, groups and tags 以及catalog应该是定义在关系数据库中的。
 
也即predix是关系型数据库与图形数据库的结合,但将Asset下放至图形数据库中保存,从而提供了更好的可扩展能力。
 

 
 

Predix中模型设计的更多相关文章

  1. PowerDesigner 中模型设计导出Excel表格

    今天项目做设计,客户要看数据设计,需要到处Excel表格.去网上搜索下,把使用总结如下: 已经完成设计的pd设计 打开pd,快捷键Ctrl + Shift + X或者Tools>Exectue ...

  2. 数据仓库专题(2)-Kimball维度建模四步骤

    一.前言 四步过程维度建模由Kimball提出,可以做为业务梳理.数据梳理后进行多维数据模型设计的指导流程,但是不能作为数据仓库系统建设的指导流程.本文就相关流程及核心问题进行解读. 二.数据仓库建设 ...

  3. EF基础知识小记二

    1.EF的常用使用场景 (1).维护一个已经存在的数据库,VS提供了工具帮助我们把数据库中的表和视图等对象导入到实体框架.        [数据库=>模型(Database First)] (2 ...

  4. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  5. 软件project文档中的数据库模型设计

    背景:软件project文档之<数据库设计说明书>的结构设计部分要明白规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型.那么.何为数据库 ...

  6. ASP.NET Core框架揭秘(持续更新中…)

    之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...

  7. Entity Framework 6 Recipes 2nd Edition(10-6)译 -> TPT继承模型中使用存储过程

    10-6. TPT继承模型中使用存储过程 问题 想在一个TPT继承模型中使用存储过程 解决方案 假设已有如Figure 10-6所示模型. 在模型里, Magazine(杂志) and DVD继承于基 ...

  8. Entity Framework 6 Recipes 2nd Edition(10-9)译 -> 在多对多关系中为插入和删除使用存储过程

    10-9. 在多对多关系中为插入和删除使用存储过程 问题 想要在一个无载荷的多对多关系中使用存储过程(存储过程只影响关系的连接表) 解决方案 假设有一个多对多关系的作者( Author)表和书籍( B ...

  9. Apworks框架实战(五):EasyMemo的领域模型设计

    在上一讲中,我们已经新建了一个聚合根对象Account,并已经可以开始设计领域模型了.在这一讲中,我们会着重介绍EasyMemo领域模型的分析和设计,并引入Visual Studio Ultimate ...

随机推荐

  1. HDU2923 Einbahnstrasse (Floyd)

    Einbahnstrasse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. Linux命令之ip

    ip [ OPTIONS ] OBJECT { COMMAND | help } 这一条命令几乎包含了所有使用方法,其中 对象OBJECT={ link | addr | addrlabel | ro ...

  3. 选择快速源来加速linux系统更新

    sudo pacman-mirrors -c China -g 引用自manjaro百度贴吧

  4. (转)解析json xml

    JSON数据 {"videos":[{"id":1,"image":"resources/images/minion_01.png ...

  5. [BZOJ 2817] 波浪

    Link: BZOJ 2817 传送门 Solution: 算是比较神的DP了吧, 首先这个绝对值处理起来很难受,肯定要想办法去掉 于是想到从小到大插入的方式,便不存在绝对值的问题了 插入一个数只有5 ...

  6. 6.1(java学习笔记)File类

    1.路径分隔符,文件分隔符. 路径分隔符(“:”) 文件名称分隔符(“\”windows,“/”Linux等). 不同平台使用的文件分隔符是不一样的,所以File类中提供了分隔符常量,它会根据平台的不 ...

  7. React Native之ES5/ES6语法差异对照表

    很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教 ...

  8. iOS开发——MJExtension复杂数组用法

    最近在看MJExtension的Demo,发现了一个plist文件直接转数组模型的方法.以前研究过但是浅尝辄止没有解决,这几天有时间,好好看了看,找到了解决办法,与大家分享. 如果大家的项目中有这种嵌 ...

  9. 阿里云乌班图16配置-PHP环境(包括mysql及apache安装)

    1. 安装apache  apt-get update apt-get install apache2 service apache2 restart   通过浏览器访问服务器的IP,如果出现Apac ...

  10. CRC代码实现

    CRC代码实现1: #include <stdio.h> #include <string.h> unsigned int cfgCrc32(const unsigned ch ...