ImSQL:海量数据,可信存储
数据造假、数据不可信等问题的存在,给金融监管及风控等众多应用场景带来了严峻的挑战,也正成为阻碍数据大规模互联互通、共享共用的一大障碍。数据的真实可信问题长期影响着社会的各个领域,在更依赖数据的人工智能时代,这一影响将更为凸显。
数据造假可能发生在任一环节。其中,在数据存储期间造假往往更加简单:因为在现有数据存储技术下,数据的所有者、管理人员或受托存储方均有能力单方对数据进行任意的篡改或删除。
既然数据不可信的一个重要原因归咎于单方可以擅自篡改和删除数据,那么如何避免这一问题自然也得到了业界大量的关注。区块链和去中心化存储技术的诞生,对数据篡改起到了一定的遏制作用,也在市场上取得了初步验证。
许多企业开始尝试采用区块链存储数据,例如在货物追溯等场景。其做法往往是将重要数据直接写入区块中。这一简单粗暴的做法确实解决了数据防删改需求、继而满足了部分数据的可信分享,但却存在较多问题:
首先是无法存储海量数据:区块内不适合存储包括多媒体数据等在内的大数据,否则区块大小难以控制,使区块链的可扩展性变差。这就导致业务中必须对原生数据进行筛选取舍,仅选取少量必要数据存入区块,但这将降低可信数据的丰富程度。
其次是数据存取效率低:首先,由于打包过程的存在,区块链数据存储一般不用于高速的数据写入。其次,由于遍历式的数据读取方法,区块链无法支持快速索引、更无法支持SQL。
再次是数据维护效率低:区块链因其顺序引用的特点,不支持对个别历史数据的删除和修改(除非对全链重新生成,但这是区块链不应鼓励的行为)。这里需注意:“杜绝单方的私自篡改”和“完全不能删改”是完全不同的两件事。前者是一种确保互信的技术手段,但后者可能属于一种必要功能点的丧失。
最后是有数据丢失风险:这一风险单指采用中本聪共识最长链原则的PoW区块链系统。在这类区块链中,当出现链分叉时,最长(或最重)的链分支会被保留,其他分支会被抛弃,这就使区块内的数据实际上永远存在被“颠覆”、被丢弃的风险。而自私挖矿等攻击行为的存在,会加剧这一风险。这在数据存储应用中是无法接受的。
正是由于上述原因,直接采用传统区块链进行数据存储显然无法满足大量实践性场景中对可信数据存储的需求。这一问题也因而引发了大量的探讨,例如“什么数据应该在链上存储、什么数据应该在链下存储”。这些问题的出现,究其根本,还是因为区块链自身存储效率及能力受限所致的。毕竟在数据库时代,我们从来不会谈论“什么数据应该存放在数据库之外”这样的问题。
近年来也出现了一些产品,为解决上述的区块链数据存储效率低下问题提供了有益的实践,例如:
星际文件系统IPFS, R3的Corda,腾讯TrustSQL等。然而这些产品在数据可信存储方面仍存在或多或少的问题,具体而言:
IPFS对数据内容生成哈希摘要,并在多个节点间进行分布式存储,单个保有者不掌握完整数据,一定程度保护了数据隐私。但IPFS只能做到修改可知(因哈希值会因内容改变而变化),并且没有访问控制等数据安全措施,整体而言仍难以满足企业级服务需求。
Corda是面向金融交易隐私需求量身定做的存储产品,重点关注数据存储的隐私性。为此,Corda没有全局账本,并需要见证人的存在,是一种隐私但并不足够安全可信的数据存储方案。
TrustSQL与国内其它同类产品采用了一种简单直观的设计思路,也是目前国内最为常见的做法,即:先将数据存入数据库(或IPFS),再将操作记录、数据哈希等存于链上。相对于TrustSQL而言,一些类似产品如众享比特的ChainSQL等进一步提升了对SQL的支持度。该类产品满足了数据“可审计”、“监管透明”的需求,但缺点是依然无法杜绝对数据本身的删改行为,只是能做到“删改可知”;此外,对关键数据的保全需要依赖参与节点的全副本存储,存储成本略高。并且在数据隐私性方面的设计仍显不足。
针对上述产品中存在的不足,物缘科技通过原创技术创新,探索出一条不同的道路,并推出自主知识产权产品“ImSQL”,旨在提供一种可真正确保数据不被私自篡改或删除的可信存储产品。
ImSQL(Immutable SQL Database)是基于区块链和分布式存储技术上的一种新型可信数据存储解决方案,并完美解决了“防止私自删改”、“保护数据隐私”、“降低存储成本”等核心问题,为大数据时代的可信存储与数据分享提供了可靠的技术路径。
相比现有产品,ImSQL具有以下几点突出优势:
1. 彻底杜绝单方对数据的私自篡改和删除。通过在存和取两个环节进行多方校验并在存储过程中杜绝篡改删除,全方位保障数据的真实可信性,使应用中的参与方能够互信、放心地采纳它方数据,使数据能够支撑精准追溯、追责。
2. 杜绝单点失败。多方共用数据的同时也共同维护数据,数据不只存于一方,从根本上实现分布式数据的可信共享池,既避免了单点失败风险,也提升了数据分享效率。
3. 碎片化存储,满足数据隐私需求,使任何一方无法掌握完整数据,从而解决了传统云计算的中心化存储、或区块链全副本存储均存在的数据隐私问题。除了数据所有方,其他任何存储托管者都无法获得完整数据。
4. 优异的数据存取性能:ImSQL单节点可达3000 TPS的写入速度和10000 QPS的读取速度。此外,ImSQL还具有:支持SQL语言,可水平扩展等优点,存取性能和使用体验优异,并可充分利用集qun扩展使上述指标进一步达到数倍增长。
5. 满足多媒体等大数据的高效存取需求,支持高效存取、高效索引、高效扩展,真正胜任大数据业务场景,可以对视频等数据实现既可信又高效的存储,从而给视频监控等场景提供前所未有的可信保全体验。
6. 采用分片式设计,极大降低了每个存储参与方的存储压力和成本,使更多参与方有机会加入和参与到数据可信共享的生态中。
7. 分布式架构,兼容轻节点,鼓励更多节点参与。不存在超能节点,参与存储的节点地位相同,更好保证系统的可靠性和抗毁性。此外,如果节点选择运行在轻副本模式,可只存储部分数据,使自身存储压力极大降低,义务虽然减轻但权力可不受任何影响。
ImSQL兼顾了海量存储、快速索引、水平扩展等数据库属性,也兼顾了数据即存即固化的区块链特征,在众多关注数据可信存储与分享的领域中,有望带来前所未有的使用体验和便利,例如:实现供应链中各方数据的互通与互信、实现政府或大企业各部门间数据的互联互通、支撑可信追溯相关海量数据的存储等。
以政府大数据建设为例。在政府众多不同部门和实体间实现高效的数据互联互通一直是个难题。现行做法往往需要建立独立的大数据部门,构建独立数据存储体系,从不同实体拉取相关数据后解析、重构,再实现可视化。这往往会带来较大的前期开销,既包含人、财、物等多种显性开销,也暗含人员编制、权责利益、时间成本、部门墙等隐性开销。同时,独立大数据部门的存在也隐含了需要一个可信第三方背书乃至承担责任的考虑。如果在这一场景下采用ImSQL作为数据互通的底层基础平台,就可以更为高效的完成这一任务,具体体现在:
1. 无须依赖第三方实体背书:不同实体间数据可直接写入ImSQL,写入即保全,数据无法再被任一单方私自篡改和删除,保证其他实体在任何时间取用数据时的可用性、一致性和可信性;
2. 无须建立和维护额外的数据存储系统:数据由所有参与实体共同存储和维护,天然共享、打通,不降低使用效率的同时减少了系统实施和维护成本。同时,ImSQL的数据碎片化存储技术,在实现数据共享的同时也能兼顾隐私保护,即,所有实体存储的数据可以是不完整的片段,只有那些具备访问权的实体才掌握对片段数据进行查找、组合并解释的钥匙。
综上,作为一种可信的、防数据篡改的数据存储技术,ImSQL完全继承了区块链数据保全的优势,又突破了区块链在效率方面的弱点,为用户提供了和数据库同样高效的数据存取体验。ImSQL是区块链和数据库技术相结合而产生的新品类,更是实现可信数据存储的不二选择。
作者信息:焦臻桢博士,物缘科技创始人,副教授/硕导(中科院)。
ImSQL:海量数据,可信存储的更多相关文章
- mysql 海量数据的存储和访问解决方案
第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互 联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的 ...
- mysql实现海量数据的存储、访问的解决方案
mysql实现海量数据的存储.访问的解决方案: mysql数据库水平切分的实现原理可分为以下几个:分库,分表,主从,集群,负载均衡器等 第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为 ...
- [转]Mysql海量数据存储和解决方案之一—分布式DB方案
1) 分布式DB水平切分中用到的主要关键技术:分库,分表,M-S,集群,负载均衡 2) 需求分析:一个大型互联网应用每天几十亿的PV对DB造成了相当高的负载,对系统的稳定性的扩展性带来极大挑战. 3 ...
- Mysql海量数据存储和解决方案之一—分布式DB方案
1) 分布式DB水平切分中用到的主要关键技术:分库,分表,M-S,集群,负载均衡 2) 需求分析:一个大型互联网应用每天几十亿的PV对DB造成了相当高的负载,对系统的稳定性的扩展性带来极大挑战. 3 ...
- 物缘科技主导IEEE可信物联网数据管理工作组启动会召开
2019年10月15日,由物缘科技主导的IEEE标准协会P2144 可信物联网数据管理工作组启动会在香港召开.物联网.区块链技术领域的企业代表和技术专家出席,共同就物联网数据管理.基于区块链的可信数据 ...
- ORACLE数据库存储结构
一.数据块 Oracle对数据库数据文件中的存储空间进行管理的单位是数据块.数据块是数据库中最小的(逻辑)数据单位,是最小的I/O单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节.每 ...
- 大数据小视角1:从行存储到RCFile
前段时间一直在忙碌写毕设与项目的事情,很久没有写一些学习心得与工作记录了,开了一个新的坑,希望能继续坚持写作与记录分布式存储相关的知识.为什么叫小视角呢?因为属于随想型的内容,可能一个由小的视角来审视 ...
- MapGis如何实现WebGIS分布式大数据存储的
作为解决方案厂商,MapGis是如何实现分布式大数据存储的呢? MapGIS在传统关系型空间数据库引擎MapGIS SDE的基础之上,针对地理大数据的特点,构建了MapGIS DataStore分布式 ...
- MySQL具体解释(15)-----------海量数据解说
第1章 引言 随着互联网应用的广泛普及,海量数据的存储和訪问成为了系统设计的瓶颈问题. 对于一个大型的互联网应用.每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的 ...
随机推荐
- 【XSY1986】【BZOJ1455】罗马游戏
就是一模板题. 合并就直接merge. pop就是将自己的值设为一,再将自己的左右儿子合并即可. 查询直接找到堆顶,输出. 模板左偏树 代码: #include<bits/stdc++.h> ...
- AtCoder Grand Contest 036 A-C
目录 \(\bf A - Triangle\) \(\bf B - Do\ Not\ Duplicate\) \(\bf C - GP 2\) \(\bf D - Negative \ Cycle\) ...
- visit:组合数学,ex_Lucas
没做过ex_Lucas的同学可以先看看这个:组合数学专题<礼物>题解.顺便把那道题水了. 有一个公式蛮重要的,竟然还有人不知道? 有一共n种共k个物品,每一种有a1,a2,a3...an个 ...
- F#周报2019年第45期
新闻 邀请博客主们:2019年的F# Advent日历 宣告ML.NET 1.4 .NET Core与Jupyter笔记本 在Jupyter笔记本中使用ML.NET 用于Windows桌面的.NET ...
- dhcpv6+radvd服务器搭建
1.isc-dhcp-server install sudo apt update sudo apt-get install isc-dhcp-server 2.设置dhcp 创建/etc/dhcp/ ...
- PyCharm使用正则替换python中的静态资源
python每次开发前台页面时,最无法避免的就是前台静态资源地址的替换了,手动替换成{% static 'web/.......' %}可想而知的痛苦,把正则替换的方式分享给朋友们,希望可以帮助到需要 ...
- Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群 ...
- 张孝祥java高新技术 --- jkd1.5 新特性 -- 精华总结
1. 抽象方法的使用 如果一个方法中大量出现if语句, 那么, 就应该考虑使用抽象来处理. 如下例: package com.lxl; public class Weekend { //周日 publ ...
- nyoj 113-字符串替换 (python replace, try ... except)
113-字符串替换 内存限制:64MB 时间限制:3000ms 特判: No 通过数:31 提交数:71 难度:2 题目描述: 编写一个程序实现将字符串中的所有"you"替换成&q ...
- Ocelot学习笔记
最近因工作需要,开始学习Ocelot.首先简单介绍一下,Ocelot是一个基于.net core的开源webapi 服务网关项目,目前已经支持了IdentityServer认证.根据 作者介绍,Oce ...