QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

关注数据:百度首届技术沙龙总结 (含资料下载)

  • 2010-04-13
  • 本文字数:1477 字

    阅读完需:约 5 分钟

4 月 10 日 InfoQ 中文站和百度合作举办了首届百度技术沙龙,邀请了百度 Web 开发高级工程师和豆瓣网系统程序员刘洪清分享了他们对数据交互的理解,本文简单总结了他们演讲的内容并提供了演讲资料下载。更多图文报道请参见百度技术沙龙专题

据介绍,这次是百度第一次深入社区,通过线下活动的形式和业界技术人员交流。从整个活动的策划和准备,可以看出百度已经将与社区的交流提上了议事日程。在和百度讲师黄方荣、百度产品市场经理郑昊的沟通中,他们也提到虽然百度内部经常有类似的交流活动,但和外界的交流还是比较少,这次活动是一次尝试,如果效果不错,以后会继续和 InfoQ 联合举办类似的活动。

在黄方荣的演讲中,他主要介绍了数据在 Web 发展中的重要性,即“数据交互推动着 Web 的发展”,介绍的内容点包括:

  • Server 数据推送
  • 域服务器数据交互
  • 异域网面跨帧数据交互
  • 客户端网页跨浏览器数据交互
  • 数据的压缩处理
  • WEB 前后端交互的数据格式
  • 数据交互推动着 WEB 的发展

在每个技术点中,黄方荣都列举了多个解决方案进行类比。比如在介绍 Server 数据推送时,他提到了轮询、长连接、伪长连接等不同的应用及各自特点。而对于数据的压缩处理,他则介绍了 YUI Compressor 和 GZIP 不同的应用场景。最后,他总结说在 Web2.0 时代,Ajax 大行其道,为网站提供了酷炫的交互界面,而在 Web3.0 时代,数据的交互将会更加人性化和简便。根据与会者的反馈,美中不足的是黄方荣在介绍数据交互的应用场景时,并没有比较多地涉及这些技术是如何在百度产品上使用的,这让许多慕名而来的技术人员有些失望。

刘洪清是豆瓣网的系统程序员,同时也是豆瓣开源数据存储系统 BeansDB ,这次他主要介绍了如何应用 BeansDB 来解决三千多万豆瓣用户持续增长的数据需求。豆瓣现在有超过 3800 万的用户,有 15 万个小组,430 万条目,300 万评论等,换算成后台的数据,则是 200G 结构化数据,800G 文本数据,10T 图片,6T 音乐等等。要保证这些数据 24 小时的稳定性,安全性和可用性,并不是一件易事。豆瓣采取的措施就是将数据进行分类,比如将用户信息、好友关系等归为结构化数据类型,将文本内容、图片等归为小文件类型,而日志和备份数据归为大文件类型。然后采用不同的技术来解决问题,比如结构化数据用 MySQL,小文件用 BeansDB,大文件用 MooseFS 等。

在问答环节,有读者对豆瓣广播的实现方式很感兴趣,刘洪清介绍说:

豆瓣的广播跟 twitter 等微博客收件箱的实现思路不太一样,是只保持一分广播副本, 在用户浏览的时候实时合并,依靠精巧的缓存和数据流设计,能够在用户可接受的时间范围内完成复杂的广播合并。这种方式可以大大减少数据库中的数据量和压力, 也与我们产品的某些特性配合得比较好。这种实现方式可行的前提是,用户的关注数是有限的,一般在一百左右,对社会网络的相关研究也是类似的结论。

对于 MySQL 的双 Master 如何实现,以及如何避免诸如自增 ID 等可能的数据冲突等问题,刘洪清也介绍了豆瓣的做法:

豆瓣目前的双 Master 主要是处于切换的便利性考虑,数据读写方面其实是 Master-Slave 结构,通过运维的方式来控制,同时只有一个 Master 是可写的,比如修改帐号权限等,这样就没有数据冲突的问题了。

本次百度技术沙龙的演讲资料现在已经可以下载,链接为: Web 数据交互的艺术、豆瓣数据存储实践资料下载

本次活动原计划 80 人到场,结果有 400 多人报名,近 300 人到场,组织者不得不加急调整了一个大的会议室人到场。有读者开玩笑说,百度在开拓技术社区方面开了个头彩。我们也希望类似百度这样的国内大公司能够更多地关注社区,和社区分享他们的开发经验,让信息在社区内流动起来。

2010-04-13 23:148612

评论

发布
暂无评论
发现更多内容

STM32入门开发 采用IIC硬件时序读写AT24C08(EEPROM)

DS小龙哥

8月月更

Android进阶(十四)Android Adapter详解

No Silver Bullet

android Adapter 8月月更

兄弟携手!魅族与星纪时代共同发力出行领域,沈子瑜成舵手

极客天地

大佬,还记得设计模式的六大设计原则吗?

知识浅谈

设计原则 8月月更

开源一夏|OpenHarmony中FA模型中应用包结构的参数

坚果

开源 OpenHarmony 8月月更

相辅相成!沈子瑜掌舵魅族科技,互相协同迈入多终端互联生态

极客天地

魅族与星纪时代合作,沈子瑜透露品牌计划!补全消费者业务布局成关键

极客天地

基于EFK的Kubernetes日志采集方案

Albert Edison

Kubernetes EFK 签约计划第三季 日志收集架构

RT-Thread记录(六、IPC机制之信号量、互斥量和事件集)

矜辰所致

RT-Thread 8月月更 IPC机制

网络编程(二)TCP/IP

Albert Edison

网络编程 网络 TCP/IP 8月月更

RocketMQ事务消息

急需上岸的小谢

8月月更

使用 Kitten 开发一款趣味成语接龙游戏

汪子熙

少儿编程 scratch 8月月更 kitten 成语接龙

新专利曝光,魅族 19 热帖发布!魅族不断布局出行科技圈

极客天地

小菜鸟河北联通上岗培训随笔

乌龟哥哥

8月月更

云原生(十六)| Kubernetes篇之深入RC、RS、DaemonSet、StatefulSet

Lansonli

云原生 8月月更

用第一性原理根治数字化转型雾霾:以规则的确定性应对结果的不确定性

王和全

数字化转型 软件开发技术的第一性原理 签约计划第三季

MyBatis(二、基础进阶)

mybatis springmvc 8月月更

物联网数据正在改变世界

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Redis面试总结

TimeFriends

8月月更

明年 Flyme 就上车?魅族与星纪时代战略合作后,携手发力出行领域

极客天地

MySQL 原理与优化:行锁

老崔说架构

Kruise Rollout:灵活可插拔的渐进式发布框架

阿里巴巴云原生

阿里云 开源 云原生 OpenKruise

Java参数传递到底是按 值传递 还是 引用传递 ?

史俊锋在搬砖

Java 后端 编程基础 签约计划第三季

[极致用户体验] 我做的《联机五子棋》是如何追求极致用户体验的?(上)

HullQin

CSS JavaScript html 前端 8月月更

Java 中使用 public,private 和 protected 修饰的方法

HoneyMoose

Android进阶(十三)json应用

No Silver Bullet

json android 8月月更

大融合!魅族星纪时代达成战略合作,董事长沈子瑜透露未来大动作

极客天地

介绍一个python工程师必须掌握的 CentOS 命令,nohup

梦想橡皮擦

Python 爬虫 8月月更

一篇就够:高性能推理引擎理论与实践(TensorRT)

AIWeker

深度学习 推理引擎 签约计划第三季 TensorRT

IntelliJ IDEA 打开近期工作的项目的对话框的快捷键

HoneyMoose

关注数据:百度首届技术沙龙总结(含资料下载)_数据库_霍太稳@极客邦科技_InfoQ精选文章