挑战大数据:Facebook、Google、Amazon怎么处理Big Data?用NoSQL搞定每年100颗硬碟资料(二版)

挑战大数据:Facebook、Google、Amazon怎么处理Big Data?用NoSQL搞定每年100颗硬碟资料(二版) pdf epub mobi txt 电子书 下载 2025

图书标签:
  • 大数据
  • NoSQL
  • Facebook
  • Google
  • Amazon
  • 数据处理
  • 数据存储
  • 分布式系统
  • 数据分析
  • 技术书籍
想要找书就要到 小特书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

◎NoSQL 不是产品,而是一个当红的概念,为云端时代不间断资料的储存基础
  ◎NoSQL 不是 No SQL,而是 Not Only SQL,不但保留了 SQL 的高逻辑性,更加上了分散式架构的强项
  ◎传统关联式资料库(SQL)已存在30年,再面对全球每年100亿颗硬碟的增长量已完全无法承载负担
  ◎使用 NoSQL,用成千上万的廉价 PC,就能保存及处理大数据,随时扩充,不怕电脑当机
  ◎介绍全球目前当红的各个 NoSQL,Cassendra (Facebook 使用)、BigTable(Google使用)、Redis(Flickr及新浪使用)

   面对全球每年将近100亿颗资料的成长,大数据的资料处理早已成为显学。随着大数据的概念兴起,各行各业也面临到保存各种资料的难题。资料的保存不只是 保存而已,还必须成为资料仓储(Data Warehouse)、资料分析、全文检索、行为预测等功能的基础。在传统的关联式资料库(Oracle、MySQL、SQL Server)已老态龙钟,或是需要高成本的伺服器来执行时,NoSQL 类的资料挟其水平扩充性(Scale out),使用一般PC就可扩充其功能的优势,逐渐成为全球新宠。NoSQL 这个新兴的观念,已成为云端时代的基本知识,本书可让你快速上手大数据及 NoSQL,帮你成为云端时代最性感行业(Sexiest Industry)的一员!

  适合:对资料库知识有一定了解者、或有较好的程式设计基础和阅读程式的能力、有一定Linux作业系统的基础知识者
图书简介:数据驱动的商业洞察与技术实践 本书深入剖析了在数据爆炸时代,企业如何构建和维护高效、可扩展的数据基础设施,以应对海量信息的挑战,并从中提炼出驱动业务增长的关键洞察。 我们将聚焦于现代数据架构的构建哲学、数据治理的关键环节,以及如何将原始数据转化为可执行的商业智能(BI)。 本书旨在为数据工程师、架构师、数据分析师以及对企业级数据战略感兴趣的决策者提供一套全面的、实战化的知识体系。我们不局限于特定的技术平台,而是着重于跨越不同技术栈的通用方法论和最佳实践。 第一部分:现代数据战略与架构的基石 理解数据资产的价值与挑战 在这个时代,数据不再仅仅是副产品,而是核心战略资产。本部分首先界定了“大数据”的真正含义——它不仅是数据量(Volume)的庞大,更是数据多样性(Variety)、处理速度(Velocity)以及数据价值(Value)的复杂集成。我们将探讨如何构建一个前瞻性的数据战略,确保数据采集、存储、处理和消费的各个环节都服务于明确的业务目标。 构建弹性与可扩展的数据架构 企业级数据架构必须具备高度的弹性,以适应业务的快速变化和数据量的指数级增长。本书将详细介绍两种主流的现代数据架构范式: 1. 数据湖(Data Lake)的构建与治理: 探讨如何建立一个中心化的、存储所有原始和精炼数据的存储库。重点讨论数据湖的设计原则,包括如何管理数据生命周期、实施细粒度的访问控制(Access Control),以及确保数据的可发现性(Discoverability)。我们将深入分析Schema-on-Read与Schema-on-Write的权衡,以及在云原生环境中实现数据湖的弹性扩展。 2. 数据仓库(Data Warehouse)的现代化转型: 讨论传统数据仓库如何演进以支持更复杂、更实时的分析需求。我们将分析ELT(Extract, Load, Transform)范式相对于传统ETL的优势,以及在现代云数据仓库中如何利用计算与存储分离的架构实现成本效益和性能的优化。 数据管道的设计与实现 数据管道是连接数据源和消费者的生命线。本书将详尽阐述构建鲁棒、容错的数据管道所需的关键要素: 流式处理 vs. 批处理的抉择: 分析何时应该使用实时流处理(如事件驱动架构),何时批处理仍然是更经济高效的选择。介绍微批处理(Micro-batching)作为折中方案的应用场景。 数据质量的内建机制: 探讨数据质量(Data Quality, DQ)如何从一个事后检查步骤转变为管道设计之初就必须内置的能力。介绍数据剖析(Data Profiling)、异常检测以及自动化的数据验证框架。 管道的运维与监控: 讨论如何实现端到端的管道可观测性(Observability),包括延迟监控、数据漂移警报以及自动化故障恢复策略。 第二部分:数据治理、安全与合规性 建立可信赖的数据生态系统 数据治理是确保数据资产长期价值和合规性的核心。本书将提供一个结构化的框架来实施数据治理计划,涵盖以下关键领域: 1. 元数据管理与数据目录: 深入探讨元数据的重要性,包括技术元数据、业务元数据和操作元数据。我们将介绍如何构建一个全面的数据目录,使用户能够快速理解数据的来源、定义、质量状态和使用限制,极大地提升数据分析的效率。 2. 数据所有权与职责划分(Data Stewardship): 明确组织内谁对数据的准确性、隐私性负责。阐述如何建立一个有效的跨职能治理委员会,以解决数据定义冲突和策略执行问题。 数据隐私与监管合规 在全球数据监管日益严格的背景下(如GDPR、CCPA等),数据安全和隐私保护不再是可选项。 数据脱敏与假名化技术: 探讨在不牺牲分析能力的前提下,保护敏感个人信息(PII)的实用技术,如令牌化(Tokenization)、动态数据屏蔽(Dynamic Data Masking)等。 数据访问控制的零信任模型: 介绍如何实施基于属性的访问控制(ABAC)和基于角色的访问控制(RBAC),确保只有授权用户才能访问特定的数据子集,特别是跨地域或跨部门的数据共享场景。 第三部分:数据驱动的决策与分析实践 从数据仓库到数据网格(Data Mesh)的演进思考 随着组织规模的扩大和数据需求的异构化,集中式架构可能成为瓶颈。本书将探讨“数据网格”这一分布式、领域驱动的数据架构范式: 领域导向的去中心化: 如何将数据所有权下放到业务领域团队,将数据视为“产品”进行管理和发布。 数据即产品(Data as a Product): 定义高质量数据产品的标准,包括易用性、可信赖性和互操作性。 高级分析与机器学习的集成 数据基础设施的最终目的是支持高级分析和机器学习模型的开发与部署。 特征工程与特征存储(Feature Store): 探讨如何标准化和集中管理用于训练模型的特征。详细介绍特征存储的架构,它如何确保训练(Offline)和在线推理(Online)环境中的特征一致性,解决“训练-服务偏差”(Training-Serving Skew)问题。 模型部署与监控(MLOps基础): 介绍将训练好的模型无缝集成到生产数据管道中的实践,以及对模型性能(如准确性、延迟)进行持续监控的必要性。 数据可视化与叙事的力量 最复杂的数据分析成果也需要清晰的传达才能转化为商业行动。本部分强调数据叙事(Data Storytelling)的重要性,指导读者如何选择恰当的图表类型,构建逻辑清晰的仪表板(Dashboards),并使用数据来构建有说服力的商业案例,引导管理层做出基于证据的决策。 本书通过详尽的案例分析和技术指导,帮助读者构建一个既能处理当前数据负载,又能灵活适应未来数据挑战的企业级数据平台。它着重于方法论的深度解析,确保读者掌握的知识能够跨越单一技术的生命周期,成为数据领域长期发展的核心竞争力。

著者信息

图书目录

前言
01 概论
1.1 引子
1.2 巨量资料挑战
1.3 巨量资料的储存和管理
1.3.1 平行资料库
1.3.2 NoSQL资料管理系统
1.3.3 NewSQL资料管理系统
1.3.4 云端资料管理
1.4 巨量资料的处理和分析
1.5 小结
参考文献

02 资料一致性理论
2.1 CAP理论
2.2 资料一致性模型
2.3 ACID与BASE
2.4 资料一致性实现技术
2.4.1 Quorum系统NRW策略
2.4.2 两阶段传送协定
2.4.3 时间戳记策略
2.4.4 Paxos
2.4.5 向量时钟
2.5 小结
参考文献

03资料储存模型
3.1 总论
3.2 键值储存
3.2.1 Redis
3.2.2 Dynamo
3.3 列式储存
3.3.1 Bigtable
3.3.2 Cassandra与HBase
3.4 文件储存
3.4.1 MongoDB
3.4.2 CouchDB
3.5 图形储存
3.5.1 Neo4j
3.5.2 GraphDB
3.6 小结
参考文献

04 资料分区与放置策略
4.1 分区的意义
4.1.1 为什么要分区
4.1.2 分区的优点
4.2 范围分区
4.3 列表分区
4.4 杂凑分区
4.5 三种分区的比较
4.6 放置策略
4.6.1 一致性杂凑演算法
4.6.2 容错性与可扩充性分析
4.6.3 虚拟节点
4.7 小结
参考文献

05 巨量资料处理方法
5.1 MapReduce简介
5.2 MapReduce资料流程
5.3 MapReduce资料处理
5.3.1 传送作业
5.3.2 初始化作业
5.3.3 分配工作
5.3.4 执行工作
5.3.5 更新工作执行进度和状态
5.3.6 完成作业
5.4 Dryad简介
5.4.1 DFS Cosmos介绍
5.4.2 Dryad执行引擎
5.4.3 DryadLINQ解释引擎
5.4.4 DryadLINQ程式设计
5.5 Dryad资料处理步骤
5.6 MapReduce vs Dryad
5.7 小结
参考文献

06 资料复制与容错技术
6.1 巨量资料复制的作用和代价
6.2 巨量资料复制的策略
6.2.1 Dynamo的复写原则
6.2.2 CouchDB的复写原则
6.2.3 PNUTS的复写原则
6.3 巨量资料的故障发现与处理
6.3.1 Dynamo的故障发现与处理
6.3.2 CouchDB的故障发现与处理
6.3.3 PNUTS的故障发现与处理
6.4 小结
参考文献

07 资料压缩技术
7.1 资料压缩原理
7.1.1 资料压缩的定义
7.1.2 资料为什么可以压缩
7.1.3 资料压缩分类
7.2 传统压缩技术[1]
7.2.1 霍夫曼编码
7.2.2 LZ77演算法
7.3 巨量资料带来的3V挑战
7.4 Oracle混合列压缩
7.4.1 仓库压缩
7.4.2 归档压缩
7.5 Google资料压缩技术
7.5.1 寻找长的重复串
7.5.2 压缩演算法
7.6 Hadoop压缩技术
7.6.1 LZO简介
7.6.2 LZO原理[5]
7.7 小结
参考文献

08 快取技术
8.1 分散式快取简介
8.1.1 分散式快取的产生
8.1.2 分散式快取的应用
8.1.3 分散式快取的效能
8.1.4 衡量可用性的标准
8.2 分散式快取的内部机制
8.2.1 生命期机制
8.2.2 一致性机制
8.2.3 直接读取与直接写入机制
8.2.4 查询机制
8.2.5 事件触发机制
8.3 分散式快取的拓扑结构
8.3.1 复制式拓扑
8.3.2 分割式拓扑
8.3.3 用户端快取拓扑
8.4 小结
参考文献

09 key-value资料库
9.1 key-value模型综述
9.2 Redis
9.2.1 Redis概述
9.2.2 Redis下载与安装
9.2.3 Redis入门操作
9.2.4 Redis在业内的应用
9.3 Voldemort
9.3.1 Voldemort概述
9.3.2 Voldemort下载与安装
9.3.3 Voldemort设定
9.3.4 Voldemort开发介绍[3]
9.4 小结
参考文献

10 Column-Oriented资料库
10.1 Column-Oriented资料库简介
10.2 Bigtable资料库
10.2.1 Bigtable资料库简介
10.2.2 Bigtable资料模型
10.2.3 Bigtable基础架构
10.3 Hypertable资料库
10.3.1 Hypertable简介
10.3.2 Hypertable安装
10.3.3 Hypertable架构
10.3.4 Hypertable中的基本概念和原理
10.3.5 Hypertable的查询
10.4 Cassandra资料库
10.4.1 Cassandra简介
10.4.2 Cassandra设定
10.4.3 Cassandra资料库的连接
10.4.4 Cassandra丛集机制
10.4.5 Cassandra的读/写机制
10.5 小结
参考文献

11 文件资料库
11.1 文件资料库简介
11.2 CouchDB资料库
11.2.1 CouchDB简介
11.2.2 CouchDB安装
11.2.3 CouchDB入门
11.2.4 CouchDB查询
11.2.5 CouchDB的储存结构
11.2.6 SQL和CouchDB
11.2.7 分散式环境中的CouchDB
11.3 MongoDB资料库
11.3.1 MongoDB简介
11.3.2 MongoDB的安装
11.3.3 MongoDB入门
11.3.4 MongoDB索引
11.3.5 SQL与MongoDB
11.3.6 MapReduce与MongoDB
11.3.7 MongoDB与CouchDB比较
11.4 小结
参考文献

12 图型资料库
12.1 图型资料库的由来及基本概念
12.1.1 图型资料库的由来
12.1.2 图型资料库的基本概念
12.2 Neo4j图型资料库
12.2.1 Neo4j简介
12.2.2 Neo4j使用教学
12.2.3 分散式Neo4j — Neo4j HA
12.2.4 Neo4j工作机制及优缺点浅析
12.3 GraphDB
12.3.1 GraphDB简介
12.3.2 GraphDB的整体架构
12.3.3 GraphDB的资料模型
12.3.4 GraphDB的安装
12.3.5 GraphDB的使用
12.4 OrientDB
12.4.1 背景
12.4.2 OrientDB是什么
12.4.3 OrientDB的原理及相关技术
12.4.4 Windows下OrientDB的安装与使用
12.4.5 相关Web应用
12.5 三种图型资料库的比较
12.5.1 特征比较表
12.5.2 分散式模式及应用比较
12.6 小结
参考文献

13 以Hadoop为基础的资料管理系统
13.1 Hadoop简介
13.2 HBase
13.2.1 HBase系统结构
13.2.2 HBase资料模型
13.2.3 HBase的安装和使用
13.2.4 HBase与RDBMS
13.3 Pig
13.3.1 Pig的安装和使用
13.3.2 Pig Latin语言
13.3.3 Pig实例
13.4 Hive
13.4.1 Hive的资料储存
13.4.2 Hive的中继资料储存
13.4.3 安装Hive
13.4.4 HiveQL简介
13.4.5 Hive的网路介面(WebUI)
13.4.6 Hive的JDBC介面
13.5 小结
参考文献

14 NewSQL资料库
14.1 NewSQL资料库简介
14.2 MySQL Cluster
14.2.1 概述
14.2.2 MySQL Cluster的层次结构
14.2.3 MySQL Cluster的优势和应用
14.2.4 巨量资料处理中的sharding技术
14.2.5 单机环境下MySQL Cluster的安装
14.2.6 MySQL Cluster的分散式安装与设定指导
14.3 VoltDB
14.3.1 传统关联式资料库与VoltDB
14.3.2 VoltDB的安装与设定
14.3.3 VoltDB元件
14.3.4 Hello World
14.3.5 使用Generate指令稿
14.3.6 Eclipse整合开发
14.4 小结
参考文献

15 分散式快取系统
15.1 Memcached快取技术
15.1.1 背景介绍
15.1.2 Memcached快取技术的特点
15.1.3 Memcached安装[3]
15.1.4 Memcached中的资料操作
15.1.5 Memcached的使用
15.2 Microsoft Velocity分散式快取系统
15.2.1 Microsoft Velocity简介
15.2.2 资料分类
15.2.3 Velocity核心概念
15.2.4 Velocity安装
15.2.5 一个简单的Velocity用户端应用
15.2.6 扩充型和可用性
15.3 小结
参考文献

16 企业应用
16.1 Instagram
16.1.1 Instagram如何应对资料的急剧增长
16.1.2 Instagram的资料分割策略
16.2 Facebook对Hadoop以及HBase的应用
16.2.1 工作负载型态
16.2.2 为什么採用Apache Hadoop和HBase
16.2.3 即时HDFS
16.2.4 Hadoop HBase的实现
16.3 淘宝巨量资料解决之道
16.3.1 淘宝资料分析
16.3.2 淘宝巨量资料挑战
16.3.3 淘宝OceanBase资料库
16.3.4 淘宝将来的工作
16.4 小结
参考文献

图书序言

推荐序

  你知道自己一天产生多少资料吗?是的,你的活动和古时候的人没什么两样,当然你可以走的比古时候的人远,因为有了高科技的交通工具,也因为高科技的影音及娱乐,你的日常生活也比古时候的人更丰富,但不管如何,还是脱离不了食衣住行育乐。

  但你和古时候人最大的不同,就是他的一天过完就没了,但你的一天却产生了大量的「数位」资料。古时候的人顶多写日记,这篇日记在以文字档为主的资料库中可能佔的空间接近0。但你我呢?

   就不要说照相摄影打卡这么主动产生的资料了。你的上网记录(IP、网站、停留时间、在页面上驻点的位置);你的行动记录(GPS位置经纬度、行车记录器 的影像、到达处附近的景点、餐厅、银行....)。你的购买记录(金额、时间、消费种类、发生地点...)。全世界70亿人每天活动的资料,早就因为数位 化及网路普及的关系,点点滴滴都以位元的方式存入「某个」储存空间了。

  根据Google前执行长史密特的说法,人类在2003年之后,每年产生的资料量,是人类历史活动的总合至前一年的资料。换句话说,每年产生出有用没用资料的数量是成指数成长的,如此一来,资料「放在哪」、「放得下」、「不会掉」,这三点非常重要!

   我们早就习惯云端时代了,东西只要「放在云端上」就好了。但从硬体的角度来看,资料还是放硬碟、光碟,资料的存取还是「电脑」,这些基本的硬体设备几十 年来除了容量速度之外,原理还是没什么变,那我们要怎么样利用「软体」的技术,将这些硬体重新排列组合,来应付每天产生2.5EB(2012年时的统计) 的资料呢?

  以每年产生10ZB(2.5EB x 365天),又以指数方式成长的速度来看,人类的资料量在2020年前会到达YB等级,什么是YB?

   这么说吧,以目前大家常用的硬碟为1TB,那么10ZB就是100亿颗这个容量的硬碟,而且是每年100亿颗。100颗硬碟有多少呢?可以绕地球 4000圈!这么多硬碟,这么多资料,还要备份,还要随时可存取,还要从这么多资料中找出有意义的资讯,这件事怎么看,都是人类有史以来最大的工程!怎么 办呢?

  这本书有你想知道的所有答案。

胡嘉玺

图书试读

用户评价

评分

这本书的名字虽然听起来很酷炫,充满了科技感,但说实话,我拿到它的时候,内心还是有些忐忑的。毕竟,“大数据”、“Facebook”、“Google”、“Amazon”这些词汇本身就带着一种高不可攀的光环,再加上“NoSQL”和“每年100颗硬碟”的量化概念,很容易让人望而却步。然而,正是这种挑战和好奇心驱使我翻开了第一页。我期望的是,作者能够用一种相对易懂的方式,剥开那些巨头公司光鲜外表下的技术内核,让我窥探到它们是如何在海量数据洪流中游刃有余的。我特别想知道,在那些我们日常使用的社交媒体、搜索引擎和电商平台上,每一次点击、每一次搜索、每一次购买背后,究竟隐藏着怎样复杂的数据处理机制?它们又是如何通过NoSQL数据库,将这些庞杂的数据高效地存储、管理和分析的?这本书是否能为我揭示一些具体的案例,比如Facebook是如何处理用户动态信息流的,Google又是如何索引全球海量网页数据的,Amazon又是如何进行个性化推荐的?我希望它不仅仅是概念的堆砌,而是能有更深入的实践指导,让我能够理解这些大型平台的技术架构和数据策略。

评分

这本书的书名立刻抓住了我的眼球,因为它精准地触及了当今科技领域最热门的几个关键词。我一直对Facebook、Google、Amazon这样的互联网巨头如何处理海量数据充满好奇,而“NoSQL”和“每年100颗硬碟”更是将这种好奇心推向了极致。在我的设想中,这本书应该会深入剖析这些公司在数据存储、处理和分析方面的独特技术和架构。我期待它能详细介绍它们是如何选择和应用NoSQL数据库的,以及这些数据库在处理 PB 级别甚至 EB 级别的数据时,是如何保证高性能、高可用性和可扩展性的。是不是会分享一些具体的数据库选型案例,比如它们各自偏爱哪些NoSQL数据库(如Cassandra, MongoDB, HBase等),以及在什么场景下会选择不同的数据库类型?同时,我也希望这本书能提供一些关于数据生命周期管理的思路,从数据的采集、清洗、存储、分析到最终的归档,整个流程是如何运作的?我非常渴望通过这本书,能够了解到这些顶尖科技公司在面对海量数据时的实际挑战和解决方案,为自己的学习和工作提供一些启示。

评分

看到这本书名,我立刻被其所涵盖的技术前沿性和实际应用场景所吸引。Facebook、Google、Amazon这些名字本身就代表着大数据领域的最高水平,而“NoSQL”的出现则预示着对传统数据库模式的突破。我迫切地想知道,这些科技巨头是如何在日常的海量数据处理中,运用NoSQL数据库来应对每年产生如此庞大数据的挑战的。我希望书中能详细介绍它们在数据架构上的演进过程,以及在面对不同类型数据(如社交图谱、用户行为日志、商品信息等)时,它们是如何选择和组合不同的NoSQL数据库来构建高效的数据处理管道的。我非常期待能够看到一些具体的案例,比如Facebook是如何利用NoSQL来支撑其动态消息的实时更新和推送,Google是如何利用NoSQL来管理其海量搜索索引和广告数据,Amazon又是如何利用NoSQL来优化其商品目录和推荐系统。这本书是否能够提供一些关于数据治理、数据安全、性能优化等方面的实践经验,让我能够更全面地理解在大数据时代,如何构建健壮、可扩展且成本效益高的数据解决方案,从而为我的工作提供宝贵的借鉴。

评分

拿到这本书,我首先是被它极具吸引力的书名所吸引。《挑战大数据:Facebook、Google、Amazon怎么处理Big Data?用NoSQL搞定每年100颗硬碟资料(二版)》——这名字本身就充满了信息量和前沿性。我一直在关注大数据技术的发展,尤其是那些在互联网领域占据主导地位的公司,它们是如何驾驭如此庞大的数据量的,一直是我非常感兴趣的问题。这本书似乎为我提供了一个绝佳的切入点,让我有机会去了解 Facebook、Google、Amazon 这些巨头在数据处理方面的独特策略和技术栈。特别是“NoSQL”这个关键词,让我联想到这些公司可能正在使用非关系型数据库来解决传统关系型数据库难以应对的大规模、高并发、高吞吐量的数据场景。我希望书中能够详细阐述它们在数据架构上的设计理念,比如如何实现数据的水平扩展,如何保证数据的实时性和一致性,以及如何利用NoSQL数据库的灵活性来适应快速变化的数据需求。我非常期待书中能有实际的项目案例分析,让我能够更直观地理解这些理论是如何在实践中落地的,从而对大数据处理的核心技术有更深刻的认识。

评分

这本书的标题非常直接,点明了核心内容——如何处理海量大数据,并以Facebook、Google、Amazon这几家标杆性公司为例,加上“NoSQL”和“每年100颗硬碟”的量化描述,瞬间提升了其内容的吸引力和实用性。我一直对这些互联网巨头在幕后如何运作充满了好奇,尤其是它们面对如此庞大的数据量时所采用的技术手段。我希望这本书能够深入浅出地剖析它们在数据存储、管理、查询和分析等方面的核心技术和策略。我特别期待能够了解到它们在选择和使用NoSQL数据库时所遵循的原则,以及不同NoSQL数据库(如键值存储、文档数据库、列族数据库、图数据库等)在不同场景下的适用性。是否会有关于数据模型设计、分布式事务、数据一致性、容错机制等方面的详细讲解?我希望这本书不仅能解答“它们怎么做”,更能帮助我理解“为什么这么做”,从而让我能够举一反三,将学到的知识应用到自己的数据处理实践中,尤其是在面对海量数据时,如何做出更优的技术选型和架构设计。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 ttbooks.qciss.net All Rights Reserved. 小特书站 版权所有