随笔分类 -  MongoDB

文件式数据库
摘要:在进入具体的kafka应用设计之前我们先把kafka集群环境配置介绍一下。多节点kafka-cluster的安装、配置非常简单,所以应该不用太多篇幅就可以完成一个完整可用的kafka-cluster环境了: 1、安装Kafka之前需要安装zookeeper。无论zookeeper或者kafka,安装 阅读全文
posted @ 2021-06-15 11:46 雪川大虫 阅读(486) 评论(0) 推荐(0) 编辑
摘要:计划研究一下搜索search,然后写个学习过程系列博客。开动之前先说说学习搜索的目的:不是想开发个什么搜索引擎,而是想用现成的搜索引擎在传统信息系统中引进搜索的概念和方法。对我来说,传统的管理系统legacy i.t system已经走到了尽头。根本原因是信息在量上的爆发增长,传统数据管理方式已经无 阅读全文
posted @ 2020-02-28 17:06 雪川大虫 阅读(395) 评论(1) 推荐(0) 编辑
摘要:完成了一套标准的rest风格数据库CRUD操作httpserver后发现有许多不足。主要是为了追求“通用”两个字,想把所有服务接口做的更“范generic”些,结果反而限制了目标数据库的特点,最终产生了一套功能弱小的玩具。比如说吧:标准rest风格getbyId需要所有的数据表都具备id这个字段,有 阅读全文
posted @ 2019-08-09 11:23 雪川大虫 阅读(1096) 评论(0) 推荐(0) 编辑
摘要:最近刚好有同事在学习MongoDB,我们讨论过MongoDB应该置于服务器端然后通过web-service为客户端提供数据的上传下载服务。我们可以用上节讨论的respapi框架来实现针对MongoDB的CRUD操作。在谈到restapi之前我在这篇讨论先介绍一下MongoDB数据库操作的scala编 阅读全文
posted @ 2019-08-05 10:22 雪川大虫 阅读(782) 评论(0) 推荐(0) 编辑
摘要:前面我们已经讨论了CQRS-Reader-Actor的基本工作原理,现在是时候在之前那个POS例子里进行实际的应用示范了。 假如我们有个业务系统也是在cassandra上的,那么reader就需要把从日志读出来的事件恢复成cassandra表里的数据行row。首先,我们需要在cassandra上创建 阅读全文
posted @ 2019-05-30 11:12 雪川大虫 阅读(848) 评论(0) 推荐(0) 编辑
摘要:分布式程序运算是一种水平扩展(scale-out)运算模式,其核心思想是能够充分利用服务器集群中每个服务器节点的计算资源,包括:CPU、内存、硬盘、IO总线等。首先对计算任务进行分割,然后把细分的任务分派给各节点去运算。细分的任务相互之间可以有关联或者各自为独立运算,使用akka-cluster可以 阅读全文
posted @ 2019-01-03 10:53 雪川大虫 阅读(1041) 评论(1) 推荐(0) 编辑
摘要:上篇我们介绍了distributed pub/sub消息传递机制。这是在同一个集群内的消息共享机制:发布者(publisher)和订阅者(subscriber)都在同一个集群的节点上,所有节点上的DistributedPubSubMediator通过集群内部的沟通机制在底层构建了消息流通渠道。在ac 阅读全文
posted @ 2018-12-10 09:55 雪川大虫 阅读(1612) 评论(0) 推荐(0) 编辑
摘要:上期我们介绍了cluster singleton,它的作用是保证在一个集群环境里永远会有唯一一个singleton实例存在。具体使用方式是在集群所有节点部署ClusterSingletonManager,由集群中的leader节点选定其中一个节点并指示上面的ClusterSingletonManag 阅读全文
posted @ 2018-11-08 13:37 雪川大虫 阅读(1173) 评论(0) 推荐(0) 编辑
摘要:gRPC Streaming的操作对象由服务端和客户端组成。在一个包含了多个不同服务的集群环境中可能需要从一个服务里调用另一个服务端提供的服务。这时调用服务端又成为了提供服务端的客户端了(服务消费端)。那么如果我们用streaming形式来提交服务需求及获取计算结果就是以一个服务端为Source另一 阅读全文
posted @ 2018-09-17 10:42 雪川大虫 阅读(495) 评论(0) 推荐(0) 编辑
摘要:我在前面提到过MongoDB不支持像SQL般字符式的操作指令,所以我们必须对所有的MongoDB操作指令建立protobuf类型才能支持MongoDB指令的序列化。在对上一篇博文里我们把MongoDB的消息指令序列化单独挑出来讨论了一番,在这篇我们准备在一个MongoDB scala开发环境里通过s 阅读全文
posted @ 2018-08-26 12:31 雪川大虫 阅读(628) 评论(0) 推荐(0) 编辑
摘要:前两篇我们介绍了JDBC和Cassandra的gRPC streaming实现。相对MongoDB来说,JDBC和Cassandra支持字符类型的query语句SQL,CQL,所以把query指令转换成protobuf structures是简单直接的。而MongoDB没有提供字符类的query,所 阅读全文
posted @ 2018-07-21 10:00 雪川大虫 阅读(1137) 评论(0) 推荐(1) 编辑
摘要:在akka-alpakka工具包里也提供了对MongoDB的stream-connector,能针对MongoDB数据库进行streaming操作。这个MongoDB-connector里包含了MongoSource,MongoFlow,MongoSink。我们只使用MongoSource,其它两个 阅读全文
posted @ 2018-03-16 14:51 雪川大虫 阅读(659) 评论(0) 推荐(0) 编辑
摘要:根据上篇关于MongoDB-Engine的功能设计方案,我们将在这篇讨论里进行功能实现和测试。下面是具体的功能实现代码:基本上是直接调用Mongo-scala的对应函数,需要注意的是java类型和scala类型之间的相互转换: 注意:以上所有函数都返回Future[T]结果。下面我们来试运行这些函数 阅读全文
posted @ 2018-03-12 13:49 雪川大虫 阅读(829) 评论(0) 推荐(0) 编辑
摘要:为了让前面规划的互联网+数据平台能有效对电子商务数据进行管理及实现大数据统计功能,必须在平台上再增加一个MongDB-Engine:数据平台用户通过传入一种Context来指示MongoDB-Engine运算。与前面JDBC-Engine和Cassandra-Engine通过文本式传递指令不同的是: 阅读全文
posted @ 2018-03-08 12:32 雪川大虫 阅读(767) 评论(0) 推荐(1) 编辑
摘要:MongoDB是一种文件型数据库,对数据格式没有硬性要求,所以可以实现灵活多变的数据存储和读取。MongoDB又是一种分布式数据库,与传统关系数据库不同的是,分布式数据库不支持table-join,所以在设计数据库表结构方面与关系数据库有很大的不同。分布式数据库有一套与传统观念不同的数据模式,在设计 阅读全文
posted @ 2018-03-06 12:21 雪川大虫 阅读(765) 评论(0) 推荐(1) 编辑
摘要:MongoDB是一种文本式数据库。与传统的关系式数据库最大不同是MongoDB没有标准的格式要求,即没有schema,合适高效处理当今由互联网+商业产生的多元多态数据。MongoDB也是一种分布式数据库,充分具备大数据处理能力和高可用性。MongoDB提供了scala终端驱动mongo-scala- 阅读全文
posted @ 2018-02-28 16:43 雪川大虫 阅读(2099) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示