0%

前几篇中,我们已经从架构的角度研究了Cassandra,并解释了其内部工作方式。 本篇中,我们将研究Cassandra的数据模型,并说明为什么它非常适合处理超大型分布式数据库。乍一看,Cassandra看起来很像一个关系型数据库。 它具有带有行和列的表,有标准的schema,并且CQL命令语法看起来很像SQL。 但是,Cassandra的行为和存储与关系型数据库不同。
阅读全文 »

Commit Logs(提交日志)用于记录对磁盘的写操作,作为故障恢复机制。 在Cassandra中写入效率高的原因之一就是所有Keyspace共享一个提交日志,因此只要写操作将数据追加到副本上的提交日志中(就协调器节点而言),就算写入完成。SSTables(Sorted String Tables)为Cassandra提供磁盘存储。 当Cassandra执行写操作时,Cassandra会先将数据写入Memtables内存表,并且定期刷新到磁盘,写入SSTables,以提高写入性能。
阅读全文 »

在Cassandra中,客户端可以是运行CQL命令的用户,也可以是使用不同语言Cassandra驱动连接到Cassandra的系统。Cassandra的无中心架构的主要优点之一是客户端可以连接到任意Cassandra节点。Cassandra驱动实现了负载均衡功能,可以跨节点分发客户端请求。客户端连接到的节点称为协调器。协调器负责与其他节点交互,收集结果,并将查询结果返回给客户端,如下图所示。为了确保即使节点发生故障或无法访问,Cassandra也可以跨多个节点存储冗余数据,具体取决于创建Keyspace时指定的复制因子。
阅读全文 »

Apache Cassandra是一个开源、分布式、去中心化、弹性可伸缩、高可用、容错、可调一致性、面向行的数据库。它的分布式设计基于Amazon Dynamo,数据模型基于Google BigTable。Cassandra由Facebook创建,目前在Facebook、Twitter、Apple、360等各大IT企业成熟落地使用。Cassandra最初是由Avinash Lakshman和Prashant Malik在Facebook开发的,用于支持收件箱搜索。Facebook于2008年将Cassandra开源作为Apache孵化器项目,并于2010年成为顶级Apache项目。
阅读全文 »

我们可以将物联网远程通信技术主要分为两大类:蜂窝网络和低功耗网络。而两种网络又存在交集。GSM是第二代移动电话系统。它主要用于语音,但也支持短信和GPRS形式的数据。因为这是一个旧的系统,所以它被广泛采用,并且可以以较低的成本获得硬件。LTE是第四代移动网络系统。尽管它支持语音通话,但它是为更好的可扩展性和无线宽带而设计的。该范围通常小于GSM,但可获得的数据速率是数量级以上。LTE可以与远程WiFi相媲美。LPWAN技术填补了移动(2G、3G、4G)和短程无线(如蓝牙、WiFi和Zigbee)网络之间的空白,并且是为机器而不是人为通信而设计的。人类通信包括语音、数据和视频,在用户移动时需要高吞吐量和低延迟来保证无缝的用户体验。相比之下,机器通信,尤其是物联网设备和应用,需要低流动性的低水平数据传输。
阅读全文 »

在物联网解决方案中,网关是一个至关重要的技术节点。可以把网关想想成一个特殊的计算机,通常部署在一个资产上或者靠近一个资产。网关提供了与不同设备、互联网或企业网络的互联。另外网关通常会运行本地逻辑,包括简单的路由逻辑和复杂的数据收集和过滤,甚至非常复杂的自动化、分析和规则引擎逻辑,这取决于具体的解决方案。
阅读全文 »

随着物联网(IoT)的周边设备—家庭、工厂、船舶、无人机、汽车等产生更多的数据,对网络和云资源提出更多要求,传统的服务器及云计算架构开始出现两个主要问题。解决方案是将一些计算能力转移到系统的边缘,也就是靠近资产设备端,将智能和处理能力移向更靠近数据来源的地方。这样就出现了理解雾计算(Fog Computing)与边缘计算(Edge Computing)的概念。
阅读全文 »

有时候,夜深人静,我们都会思考,自己努力工作,是为了什么?是为了赚更多的钱?还是为了帮助更多的人?又或者是为了过上一个美好的生活?日文「生き甲斐」的意思,英文可以解读为 The Reason for Living,而中文则是「生命的意义」。
阅读全文 »

物联网的核心是物,在现实世界中可以抽象成资产。也就说和互联网围绕着人来创新最大的区别是,物联网其实是打通资产与资产,资产与人之间的信息壁垒。在一个企业物联网环境中,大多数解决方案都需要将资产与企业应用提供的后端服务连接。基于这个理念,可以抽象出一套物联网架构模式,我们可以将其称为资产整合架构模式。
阅读全文 »

物联网领域经常出现M2M和IoT两个词,经常让人产生歧义。这篇简短的文章来帮助大家解决误解,并指出这两个技术术语之间的一些共同点和关键区别。
阅读全文 »