张友东(林青)_个人页

个人头像照片 张友东(林青)
个人头像照片 个人头像照片
97
18
0

个人介绍

阿里云高级技术专家

擅长的技术

  • Python
  • 前端开发
  • 数据库
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

阿里云技能认证

详细说明
暂无更多信息

2020年06月

  • 06.28 11:08:05
    发表了文章 2020-06-28 11:08:05

    物联网数据库 IoTDB 解析

    Apache IoTDB 是专为物联网时序数据打造的数据库,提供数据采集、存储、分析的功能。IoTDB 提供端云一体化的解决方案,在云端,提供高性能的数据读写以及丰富的查询能力,针对物联网场景定制高效的目录组织结构,并与 Apache Hadoop、Spark、Flink 等大数据系统无缝打通;在边缘端,提供轻量化的 TsFile 管理能力,端上的数据写到本地 TsFile,并提供一定的基础查询能力,同时支持将 TsFile 数据同步到云端。

2019年09月

  • 09.30 16:27:52
    发表了文章 2019-09-30 16:27:52

    MongoDB BI Connector 实战指南

    MongoDB 使用 BI Connector 来支持 BI 组件直接使用 SQL 或 ODBC 数据源方式直接访问 MongoDB,在早期 MongoDB 直接使用 Postgresql FDW 来实现 SQL 到 MQL 的转换,后来实现更加轻量级的 mongosqld 来支持 BI 工具的连接。
  • 09.29 17:49:26
    发表了文章 2019-09-29 17:49:26

    MongoDB Spark Connector 实战指南

    Why Spark with MongoDB? 高性能,官方号称 100x faster,因为可以全内存运行,性能提升肯定是很明显的 简单易用,支持 Java、Python、Scala、SQL 等多种语言,使得构建分析应用非常简单 统一构建 ,支持多种数据源,通过 Spark RDD 屏蔽...

2019年08月

  • 08.26 16:59:38
    发表了文章 2019-08-26 16:59:38

    Redis 混合存储最佳实践指南

    Redis 混合存储实例是阿里云自主研发的兼容Redis协议和特性的云数据库产品,混合存储实例突破 Redis 数据必须全部存储到内存的限制,使用磁盘存储全量数据,并将热数据缓存到内存,实现访问性能与存储成本的完美平衡。
  • 08.01 15:53:10
    发表了文章 2019-08-01 15:53:10

    MongoDB Sharding 请勿复用已删除的 namespace

    SERVER-17397: Dropping a Database or Collection in a Sharded Cluster may not fully succeed 是 MongoDB 里老大难的问题,库或集合删除操作如果没有完全执行成功,再新建相同名字的集合,可能导致读到老版本数据的问题。

2019年07月

  • 07.26 10:27:19
    发表了文章 2019-07-26 10:27:19

    MongoDB 定位 oplog 必须全表扫描吗?

    MongoDB oplog (类似于 MySQL binlog) 记录数据库的所有修改操作,除了用于主备同步;oplog 还能玩出很多花样,比如 全量备份 + 增量备份所有的 oplog,就能实现 MongoDB 恢复到任意时间点的功能 通过 oplog,除了实现到备节点的同步,也可以额外再往单独的集群同步数据(甚至是异构的数据库),实现容灾、多活等场景,比如阿里云开源的 MongoShake 就能实现基于 oplog 的增量同步。
  • 07.17 15:57:24
    发表了文章 2019-07-17 15:57:24

    MongoDB compact 命令详解

    为什么需要 compact 一图胜千言 remove 与 drop 的区别 MongoDB 里删除一个集合里所有文档,有两种方式 db.collection.remove({}, {multi: true}),逐个文档从 btree 里删除,最后所有文档被删除,但文件物理空间不会被回收 db.
  • 07.10 11:49:15
    发表了文章 2019-07-10 11:49:15

    MongoDB sharding 集合不分片性能更高?

    最近云上用户用户遇到一个 sharding 集群性能问题的疑惑,比较有代表性,简单分享一下 测试配置 mongos x 2、shard x 3 测试1:集合不开启分片,批量 insert 导入数据,每个 batch 100 个文档 测试2:集合开启分片,随机生成 shardKey,chunk 已...

2019年06月

  • 06.21 19:35:03
    发表了文章 2019-06-21 19:35:03

    MongoDB 4.2 新特性解读

    MongoDB World 2019 上发布新版本 MongoDB 4.2 Beta,包含分布式事务、全文检索、Wildcard 索引等多项数据库新特性,本文尝试从技术角度解读。
  • 发表了文章 2020-10-15

    实时分析性数据库 Druid 架构解析

  • 发表了文章 2020-06-28

    物联网数据库 IoTDB 解析

  • 发表了文章 2020-01-03

    MongoDB 4.2 内核解析 - Change Stream

  • 发表了文章 2019-09-30

    MongoDB BI Connector 实战指南

  • 发表了文章 2019-09-29

    MongoDB Spark Connector 实战指南

  • 发表了文章 2019-08-26

    Redis 混合存储最佳实践指南

  • 发表了文章 2019-08-01

    MongoDB Sharding 请勿复用已删除的 namespace

  • 发表了文章 2019-07-26

    MongoDB 定位 oplog 必须全表扫描吗?

  • 发表了文章 2019-07-17

    MongoDB compact 命令详解

  • 发表了文章 2019-07-10

    MongoDB sharding 集合不分片性能更高?

  • 发表了文章 2019-06-21

    MongoDB 4.2 新特性解读

  • 发表了文章 2019-05-23

    MongoDB killOp 案例详解

  • 发表了文章 2019-01-08

    MongoDB 如何使用内存?为什么内存满了?

  • 发表了文章 2018-07-13

    MongoDB 4.0 事务实现解析

  • 发表了文章 2018-05-30

    MongoDB 4.0 RC 版本强势登陆

  • 发表了文章 2018-05-14

    SQL反模式:SQL 建模与使用指南

  • 发表了文章 2018-04-30

    MongoDB 无法启动,WiredTiger 如何恢复数据(二)?

  • 发表了文章 2018-04-20

    InnoDB 内部实现原理解析

  • 发表了文章 2018-03-08

    In-place update in WiredTiger

  • 发表了文章 2018-01-29

    RocksDB 写入流程详解

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2019-07-17

    mongodb compact操作

    compact 加的是DB级别的互斥写锁,同一个DB上的读写都会被阻塞compact基本不需要额外的空间,wiredtiger compact的原理是将数据不断往前面的空洞挪动,并不需要把数据存储到临时的位置(额外的存储空间)。
    踩1 评论0
  • 回答了问题 2019-07-17

    mongo磁盘扩容问题

    直接将这个collection shard一下,也会自动迁移数据的到其他shard的
    踩1 评论0
  • 回答了问题 2019-07-17

    mongo断电修复问题

    MongoDB的版本是什么? 是否开启了journal?
    踩0 评论0
  • 回答了问题 2019-07-17

    MongoDB查询字段有大量重复值

    补充一下楼上的,索引通常会常驻内存,但如果实例配置的内存不足,索引也是需要先从硬盘加载的; 如果需要对用户、时间2个维度分别进行查询,则需要针对2个维度分别建立索引。索引的原理参考:https://yq.aliyun.com/articles/33726?spm=0.0.0.0.PsBXc4&msgid=12861
    踩0 评论0
  • 回答了问题 2019-07-17

    对于mongodb复制集高可用的疑惑

    你好,非常感谢你关注我的文章以正确方式连接复制集来保证高可用是指(以写操作为例说明)当你后端的复制集有成员故障时,可能会选出新的primary,这时driver会自动检测到后端节点宕机时,会获取到最新的副本集状态,然后向新的primary写入,这样应用程序就能继续写入。但如果使用driver时,仅仅只是『正确连接副本集』是远远不够的,应用程序该做的基本逻辑还是要有的,不然也是无法保证高可用。应用程序需要检查每次写入操作的执行结果,只有成功返回了,才能认为数据写入成功。如果应用程序不能接受数据丢失,需要在写入时指定更高级别的WriteConcern,比如{w: majority},保证数据成功写入大多数节点才返回。按你描述的场景,正确连接副本集后,如果你做了上述1、2的工作,是完全可以保证服务高可用,数据高可靠的。
    踩1 评论0
  • 回答了问题 2019-07-17

    MongoDB 连接池使用的问题

    driver连接副本集时,连接地址里指定所有成员的信息,当副本集有成员宕机时,driver会自动进行failover,连接到新的primary。driver连接分片集群时,连接地址里指定多个mongos的信息,当有mongos宕机时,driver会自动连接可用的其他mongos。
    踩0 评论0
  • 回答了问题 2019-07-17

    mongodb计算问题

    授人以渔,胜过授人以鱼,使用aggregate使用$unwind 参考 https://docs.mongodb.org/manual/reference/operator/aggregation/unwind/使用$group,按lesson字段分组,对total字段求平均值,参考https://docs.mongodb.org/manual/reference/operator/aggregation/group/
    踩0 评论0
  • 回答了问题 2019-07-17

    mongodb java使用$insert 多出一条数据,什么原因?

    可能是你的查询条件并没有匹配的文档,而你有设置了第3个参数upsert为true,当update没找到匹配条件的文档时,会将新的文档insert到集合。
    踩0 评论0
  • 回答了问题 2019-07-17

    spring mongodb对多层数组的操作问题

    嵌套数组目前mongodb支持比较弱,暂不能满足你的需求;你的文档结构比较复杂,应该重新再review下你的设计方案是否有可以改进的地方。
    踩0 评论0
  • 回答了问题 2019-07-17

    如何在mongodb中批量更新文字,增加部分内容?

    db.collection.update( {name: 'join'}, { $set: {name: 'name john'} }, {multi: true} )
    踩0 评论0
  • 回答了问题 2019-07-17

    阿里云的redis和mongodb服务是否能加入到vpc中?

    目前阿里云MongoDB、redis已支持vpc,你在控制台购买实例的时候就能选择将实例加入到某个vpc网络里(如果还没有专有网络,需要先创建)
    踩0 评论0
  • 回答了问题 2019-07-17

    用java备份mongDB中的数据

    备份本质上是『遍历所有的数据库,所有的集合,将文档导出』,这些用mongodb的java driver都能实现的。官方已经有比较完备的工具支持,如mongodump, mongorestore, mongooplog等工具,没必要再用java重复造轮子
    踩0 评论0
  • 回答了问题 2019-07-17

    MongoDB:副本集出现大量authenticate db日志

    这些是数据库帐号认证时的日志,你可以通过setLogLevel来调整日志级别了关闭这些日志。
    踩0 评论0
  • 回答了问题 2019-07-17

    使用mongodb的gridfs当做文件存储系统可行吗?

    大量文件存储可考虑下OSS
    踩0 评论0
  • 回答了问题 2019-07-17

    mongodb 锁表同时,请求过多的问题

    目前MongoDB 3.2版本,mmapv1支持集合级别锁,wiredtiger引擎支持文档级别锁,锁粒度比2.x版本要小很多。
    踩0 评论0
  • 回答了问题 2019-07-17

    mongodb如何按照list的排序获取结果?

    针对uid字段建立索引,遍历[10, 9, 1, 12...]列表,逐个根据uid查询文档,使用in的查询效率很低的,无法使用索引,而且每次比较都要遍历数组。
    踩0 评论0
  • 回答了问题 2019-07-17

    使用mongodb命令将数据插入到数组的指定位置

    2.6版本支持了$position操作符,可以实现这个功能https://docs.mongodb.org/manual/reference/operator/update/push/
    踩0 评论0
  • 回答了问题 2019-07-17

    mongo查询抛出异常,什么原因?

    OperationFailure: could not find host matching read preference { mode: 'primary', tags: [ {} ] } for set rs1请确认下rs1这个副本集当前的primary是否正常
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息