张友东(林青)_个人页

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

个人介绍

阿里云高级技术专家

擅长的技术

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

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

云产品技术能力:

阿里云技能认证

详细说明
暂无更多信息
暂无更多信息
  • 发表了文章 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操作

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

    mongo磁盘扩容问题

    直接将这个collection shard一下,也会自动迁移数据的到其他shard的

    踩0 评论0
  • 回答了问题 2019-07-17

    mongo断电修复问题

    MongoDB的版本是什么? 是否开启了journal?

    踩0 评论0
  • 回答了问题 2019-07-17

    mongodb计算问题

    授人以渔,胜过授人以鱼,使用aggregate

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

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

    你好,非常感谢你关注我的文章

    以正确方式连接复制集来保证高可用是指(以写操作为例说明)

    当你后端的复制集有成员故障时,可能会选出新的primary,这时driver会自动检测到后端节点宕机时,会获取到最新的副本集状态,然后向新的primary写入,这样应用程序就能继续写入。

    但如果使用driver时,仅仅只是『正确连接副本集』是远远不够的,应用程序该做的基本逻辑还是要有的,不然也是无法保证高可用。

    1. 应用程序需要检查每次写入操作的执行结果,只有成功返回了,才能认为数据写入成功。
    2. 如果应用程序不能接受数据丢失,需要在写入时指定更高级别的WriteConcern,比如{w: majority},保证数据成功写入大多数节点才返回。

    按你描述的场景,正确连接副本集后,如果你做了上述1、2的工作,是完全可以保证服务高可用,数据高可靠的。

    踩0 评论0
  • 回答了问题 2019-07-17

    MongoDB 连接池使用的问题

    driver连接副本集时,连接地址里指定所有成员的信息,当副本集有成员宕机时,driver会自动进行failover,连接到新的primary。

    driver连接分片集群时,连接地址里指定多个mongos的信息,当有mongos宕机时,driver会自动连接可用的其他mongos。

    踩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} )

    踩1 评论0
  • 回答了问题 2019-07-17

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

    目前阿里云MongoDB、redis已支持vpc,你在控制台购买实例的时候就能选择将实例加入到某个vpc网络里(如果还没有专有网络,需要先创建)

    踩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:副本集出现大量authenticate db日志

    这些是数据库帐号认证时的日志,你可以通过setLogLevel来调整日志级别了关闭这些日志。

    踩0 评论0
  • 回答了问题 2019-07-17

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

    2.6版本支持了$position操作符,可以实现这个功能

    https://docs.mongodb.org/manual/reference/operator/update/push/

    踩0 评论0
  • 回答了问题 2019-07-17

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

    目前MongoDB 3.2版本,mmapv1支持集合级别锁,wiredtiger引擎支持文档级别锁,锁粒度比2.x版本要小很多。

    踩0 评论0
  • 回答了问题 2019-07-17

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

    大量文件存储可考虑下OSS

    踩0 评论0
  • 回答了问题 2019-07-17

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

    针对uid字段建立索引,遍历[10, 9, 1, 12...]列表,逐个根据uid查询文档,使用in的查询效率很低的,无法使用索引,而且每次比较都要遍历数组。

    踩0 评论0
  • 回答了问题 2019-07-17

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

    OperationFailure: could not find host matching read preference { mode: "primary", tags: [ {} ] } for set rs1

    请确认下rs1这个副本集当前的primary是否正常

    踩0 评论0
  • 回答了问题 2019-07-17

    用java备份mongDB中的数据

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

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息