• 1. 文档式数据库 在Hadoop集群中的应用SequoiaDB – 王涛
  • 2. 提纲大数据回顾1数据库在Hadoop中的定位3用户案例4文档式数据库特性2
  • 3. 大数据回顾Batch Analytics
  • 4. 传统的结构化数据依然是最常见的数据 非结构化的情绪表达和客户行为快速增长 企业现存的非结构化数据蕴含大量开放文本 视频音频在业务操作中被使用 博客,论坛以及评论反映了客户的声音volume30%组织需要每天处理>100GB数据 批处理更新从每天提升到每小时,每分钟,甚至实时 复杂事件处理能够即时产生信息发送给分析系统 实时流数据处理大数据:信息驱动力3vvarietyvolumevelocity海量数据规模高时效性多样化50%组织拥有和处理>10TB数据 10%已经处理>1PB 电子商务和Web日志可产生每分钟上万的数据项 社交媒体应用每分钟产生百万交互活动价值: 提高效率 提升客户体验 降低风险 创造新的商机
  • 5. Hadoop与NoSQL – 解决BigData的核武器VolumeVarietyVelocityHadoop 分布式存储YesYesNoSQL 数据库YesYes传统关系型 数据库YesHadoop针对海量与多样化数据 NoSQL针对海量与高时效性数据 Hadoop与NoSQL互为补充,而非取代
  • 6. NoSQL数据库Real-time data access
  • 7. 关系型数据库面临的困境仅支持垂直扩张,成本昂贵关系模型制约水平扩张无法处理海量数据,性能瓶颈海量数据瓶颈数据模型僵化高成本日志,锁构成性能瓶颈强一致性
  • 8. 大量的关联是分布式关系模型中的瓶颈
  • 9. 文档式NoSQL解决方案使用PC服务器进行水平扩张Schemaless带来开发的敏捷 和可扩展性的提升分布式架构+半结构化存储= 水平扩张海量数据数据模型灵活低成本带来性能大幅度提升最终一致性
  • 10. NoSQL利用嵌套和数组解决关联难题用户ID用户名1王萍2张楠3李克同4Jerry……用户ID交易金额交易时间21357:05311512:01242,13812:24331,23815:31……2千万条记录1.5亿条记录 大表之间的关联性能低下 关联操作造成节点间大量的数据移动用户ID用户名交易时间金额1王萍[ { 15:53, 7500} ]2张楠[ { 07:05, 135 }, {12:24, 42138 } ]3李克同[ { 12:01, 115}, { 15:31, 31238 }, {16:30, 557 } ]……单条记录实现1:1与1:N模型
  • 11. 在线扩容存储空间可扩展 在线迁移数据 业务不中断 负载均衡扩容步骤: 将新增节点添加到集群中 划分数据分区 系统自动迁移数据
  • 12. 异构数据复制机制差异化的数据可靠性级别 灵活可配置的数据分片 支持同步与异步复制机制 异步业务请求w=1Repl-logRepl-logRepl-logSecondaryPull批量Repl-logPush更新通知虚拟复制请求PrimarySecondaryRepl-GroupRepl-log相对窗口HOT-WindowCOLD-WindowLOST-Window同步业务请求w=3异构数据复制机制灵活平衡业务性能、可用性和数据可靠性
  • 13. 多索引支持和很多KV或者宽表数据库比起来,文档型数据库一般对一个集合能够在不同字段上创建多个索引IDNamePhone1Tom1352Bob4123Jim5314Amy9865Susan2576Lily2647Kevin223ID_Index1234567Name_IndexAmyBobJimKevinLilySusanTom
  • 14. Hadoop+NosqlBig Data Platform
  • 15. NoSQL数据库在Hadoop中的定位HDFSNoSQL数据库连接器连接器
  • 16. Hadoop连接器Hadoop MapReduceJob TrackerTask TrackerTask TrackerTask Tracker连接器Data Node数据库
  • 17. 从Hadoop导入数据ExtractFlume ConnectorSqoop ConnectOther SourcesHadoopHDFSHadoop ConnectorNoSQLTransformLoad 可直接从HDFS加载数据 优化并行 支持Pig、Hive与MapReduce
  • 18. 查询谓词下压,利用数据库索引提升性能查询关联索引扫描T.Price > 1000数据存储层 HDFS DatabaseHDFSSELECT * FROM T, K WHERE T.Price > 1000 AND T.id = K.id批量扫描
  • 19. 编目节点数据组数据组数据组数据组数据组数据组数据组基于块级并发能力数据块…数据块数据块数据块协调节点编目节点数据组数据块…数据块数据块数据块数据组数据块…数据块数据块数据块业务应用/Hadoop获取分片信息 数据组1:分片号10,12… 数据组2:分片号1,2…并发读取各个数据块内容1 大数据查询和导入性能相对HBASE有较大幅度提升; 2 与Hadoop Map/Reduce 对接能发挥更大的并发优势; 导入数据量导入性能Hbase30亿条记录15W/SecSequoiaDB30亿条记录19.3W/Sec在某电信运营商场景测试多线程并发平均响应时间导入性能
  • 20. 用户案例Use cases
  • 21. 交易流水归档历史查询面临的挑战解决方式最终结果每天需要入库归档超过100GB数据 用户需要能够并发、实时、由多个维度访问超过2年的历史数据 当前Oracle数据库无法满足实时查询的需求使用MapReduce与Hive作为ETL处理的补充进行数据清洗和转换 使用Hive将最终结果并行加载入SequoiaDB 小规模x86集群平台降低TCO 使用SequoiaDB,在常用查询字段上建立多个索引保证查询性能 可以在线针对2年内的历史数据进行多条件检索 高数据压缩比节省数据存储空间 利于细分客户群,发现高价值用户,降低客户流失率 帮助自营产品、套餐等设计与创新 提升客户体验,进行策略管控
  • 22. 交易流水归档历史查询
  • 23. 交易流水归档历史查询HDFS当日归档数据业务系统数据录入数据录入SequoiaDB客户分群 数据分析HiveSequoiaSQL一级分行用户二级行管理员营业厅叫号机移动设备Web服务文本数据手工输入数据数据录入客户分群Web服务报表展现精准推送Hadoop Platform
  • 24. 谢谢王涛 taoewang@sequoiadb.com www.sequoiadb.com 微博账号 @SequoiaDB微信账号
  • 25. Hadoop与文档式NoSQL之间的关系传统关系数据库大数据HADOOP平台文档式NoSQL数据库优势 基于关系模型的高性能数据查询和分析; 成熟内建数据挖掘算法; 成熟报表工具; 标准数据访问接口。 大规模并行数据处理; 灵活可编程; 支持海量数据存储的文件系统; 低硬件成本服务器集群。 大规模并行实时数据访问; 数据模型动态灵活; 计算引擎强大,功能丰富; 低硬件成本服务器集群。劣势 不适合非结构化数据处理; 通常情况,企业级硬件支持 不适合复杂数据关联查询; 缺乏标准访问接口。 不适合非结构化数据存储适合场景 结构化数据的高性能复杂查询 传统报表分析和数据挖掘。 非结构化数据处理; 全数据批量处理; 个性化数据分析和挖掘; 海量数据检索,索引和搜索。 结构化与半结构化高性能大规模并行处理; 海量数据实时检索分析应用 企业级数据仓库 低成本海量数据存储和分析 实时大数据查询分析互为补充而非取代
  • 26. SequoiaDB 与HBase的差异SequoiaDBHBase多索引有无非主键排序有无聚集有无存储过程有无事务有无锁有无SQL/JDBC有无高可用性强弱图形管理界面有无数据更新删除有无
  • 27. SequoiaDB 与MongoDB的差异SequoiaDBMongoDB事务有无SQL支持有无性能高中数据压缩有无存储过程有弱JDBC驱动有无图形管理界面有无MongoDB天生的互联网基因使其缺乏企业级功能,且与Hadoop结合极其有限
  • 28. SequoiaDB NoSQL实时数据引擎灵活动态的数据类型 并行执行引擎 线性水平扩张 MPP – 无单点故障 在压缩数据上执行SQL 保持数据接近CPU/核应用程序层调度层
  • 29. SequoiaDB 为实时查询与分析而建立编目分片...数据分片数据分片数据分片数据存储层...协调节点协调层网络层应用层
  • 30. SequoiaDB 平台架构
  • 31. 在线扩容存储空间可扩展 在线迁移数据 业务不中断 负载均衡扩容步骤: 将新增节点添加到集群中 划分数据分区 系统自动迁移数据
  • 32. 在线扩容优势 传统数据库(ORACLE和DB2) 性能及吞吐量非线性增长 业务中断时间长 SequoiaDB 增加节点可线性提升数据访问性能 无需中断业务在线扩容 性能和吞吐量 节点数(个)
  • 33. Single Shard
  • 34. Two Shards
  • 35. Three Shards
  • 36. 异构数据复制机制差异化的数据可靠性级别 灵活可配置的数据分片 支持同步与异步复制机制 异步业务请求w=1Repl-logRepl-logRepl-logSecondaryPull批量Repl-logPush更新通知虚拟复制请求PrimarySecondaryRepl-GroupRepl-log相对窗口HOT-WindowCOLD-WindowLOST-Window同步业务请求w=3异构数据复制机制灵活平衡业务性能、可用性和数据可靠性
  • 37. SequoiaDB 大数据合作伙伴
  • 38. SequoiaDB 集成Hadoop解决方案
  • 39. 与Hive对接, 实现大数据导入/分析SequoiaSQL 实现SDB/HDFS之间数据互通与Hadoop/sqoop对接,实现 传统数据库/非结构化数据与SequoiaDB转换HDFSHiveSequoiaDBsdb connectorSequoiaSQLHDFSSequoiaDBSqoopHDFSSequoiaDBsdb connectorSequoiaDB 与Hadoop丰富的对接形式
  • 40. Hadoop连接器客户端Hadoop MapReduceJob TrackerTask TrackerTask TrackerTask Tracker连接器Data Node数据库
  • 41. SequoiaDB 从Hadoop导入数据ExtractFlume ConnectorSqoop ConnectOther SourcesHadoopHDFSSequoiaDB ConnectorSequoiaDBTransformLoad 可直接从HDFS加载数据 优化并行 支持Pig、Hive与MapReduce
  • 42. 编目节点数据组数据组数据组数据组数据组数据组数据组基于块级并发能力数据块…数据块数据块数据块协调节点编目节点数据组数据块…数据块数据块数据块数据组数据块…数据块数据块数据块业务应用/Hadoop获取分片信息 数据组1:分片号10,12… 数据组2:分片号1,2…并发读取各个数据块内容1 大数据查询和导入性能相对HBASE有较大幅度提升; 2 与Hadoop Map/Reduce 对接能发挥更大的并发优势; 导入数据量导入性能Hbase30亿条记录15W/SecSequoiaDB30亿条记录19.3W/Sec在某电信运营商场景测试多线程并发平均响应时间导入性能
  • 43. SequoiaSQL 让SequoiaDB支持原生SQL原生SQL支持 支持JDBC/ODBC 多种数据源 SequoiaDB Hive HBase Application SQLJDBC/ODBCSequoiaSQL Engine
  • 44. TestsTest 1Test 2Test 3Test 4Time (Sec)Hive+HDFS32.60317.82239.81542.128SequoiaSQL3.2211SequoiaSQL v.s. Hive+HDFSSequoiaSQL is 10+ times faster than Hive+HDFS
  • 45. Hadoop + SequoiaDB = 实时分析+批处理分析HDFS 分布式存储引擎Hive 查询引擎MapReduce 分布式计算框架SequoiaDBPig 执行引擎SequoiaSQLJDBC/ODBC/API接口
  • 46. SequoiaDB 与其他数据库的功能差异SequoiaDBMongoDBHBaseRDBMS(Oracle,DB2)事务有无无有SQL支持有无无有分布式有有有无性能高中高低多索引有有无有数据压缩有无有有存储过程有弱无有JDBC驱动有无无有图形管理界面有无无有数据模型JSON对象JSON对象宽表关系结构
  • 47. 客户分群 – 第一阶段Hadoop + SequoiaDB建立营销规则计算用户分群精准推送营销记录业务系统ETL营销管理
  • 48. 客户分群 – 第一阶段Hadoop + SequoiaDB建立营销规则计算用户分群精准推送营销记录业务系统ETL营销管理
  • 49. 客户分群 – 第二阶段数据挖掘Hadoop + SequoiaDB建立营销规则计算用户分群精准推送营销记录业务系统ETL