《NOSQL数据库入门》学习笔记

《nosql数据库入门》

第1章  nosql数据库的基础知识  1

1.1  关系型数据库和nosql数据库  2

1.1.1  什么是nosql  2

1.1.2  关系型数据库简史  2

1.1.3  数据库的分类  3

1.1.4  关系型数据库的优势  5

1.1.5  关系型数据库的不足  5

1.1.6  nosql数据库  9

1.2  nosql数据库是什么  12

1.2.1  键值存储  13

1.2.2  面向文档的数据库  14

1.2.3  面向列的数据库  14

1.3  如何导入nosql数据库  16

1.3.1  始终只是其中一种选择  16

1.3.2  在何种程度上信赖它?  18

第2章  数据库的种类和特征  19

2.1  memcached(临时性键值存储)  20

2.1.1  什么是memcached  20

2.1.2  为什么要使用memcached  20

.2.1.3  特征和用例  21

2.1.4  安装步骤  27

2.1.5  动作确认  29

2.1.6  各种开发语言需要用到的程序库  36

2.1.7  相关工具  37

2.2  tokyo  tyrant(永久性键值存储)  44

2.2.1  什么是tokyo  tyrant  44

2.2.2  为什么要使用tokyo  tyrant  44

2.2.3  特征和用例  44

2.2.4  安装步骤  48

2.2.5  动作确认  50

2.2.6  各种开发语言需要用到的程序库  58

2.2.7  相关工具  58

2.3  redis(临时性/持久性键值存储)  61

2.3.1  什么是redis  61

2.3.2  为什么要使用redis  61

2.3.3  特征和用例  67

2.3.4  安装步骤  71

2.3.5  动作确认  72

2.3.6  各种开发语言需要用到的程序库  81

2.4  mongodb(面向文档的数据库)  82

2.4.1  什么是mongodb  82

2.4.2  为什么要使用mongodb  82

2.4.3  特征和用例  84

2.4.4  安装步骤  87

2.4.5  动作确认  88

2.4.6  各种开发语言需要用到的程序库  100

2.4.7  相关工具  100

第3章  试用nosql数据库  103

3.1  memcached的具体使用实例  104

3.1.1  例①  关系型数据库的缓存  104

3.1.2  例②  音乐视听排行网站  112

3.1.3  例③  外部api的缓存  119

3.2  tokyo  tyrant的具体使用实例  120

3.2.1  例①  在每个页面显示访问量  120

3.3  redis的具体应用实例  130

3.3.1  例①  时间线(time  line)形式的web应用  130

3.3.2  例②  查询历史记录  144

3.4  mongodb的具体使用实例  151

3.4.1  例①  问卷调查数据的保存  151

3.4.2  例②  解析数据的存储  165

第4章  性能验证  167

4.1  基本的插入和查询处理的性能  168

4.1.1  假定案例  168

4.1.2  准备工作  171

4.1.3  插入处理的性能  172

4.1.4  查询的性能  172

4.2  不同实例的性能比较  175

4.2.1  tokyo  tyrant的addint方法和incr方法  175

4.2.2  对redis的列表类型的数据进行添加和删除  177

4.2.3  mysql的join和mongodb的embed  178

第5章  nosql化的关系型数据库  183

5.1  关于nosql数据库  184

5.1.1  各种nosql数据库的特征  184

5.1.2  运行时的开销以及经验不足的问题  185

5.1.3  将mysql数据库nosql化的方法  185

5.2  尝试使用handlersocket  187

5.2.1  特征  187

5.2.2  为mysql安装handlersocket  188

5.2.3  动作确认  191

5.2.4  handlersocket的性能  197

《NOSQL数据库入门》学习笔记

时间: 2024-11-10 01:09:54

《NOSQL数据库入门》学习笔记的相关文章

疯狂Android讲义 - 学习笔记(二)

Android应用的用户界面编程 Android推荐使用XML布局文件来定义用户界面 ViewGroup是一个抽象类,通常使用它的子类作为容器,ViewGroup控制其子组件的分布依赖于两个内部类: ViewGroup.LayoutParams 和 ViewGroup.MarginLayoutParams 疯狂Android讲义 - 学习笔记(二),布布扣,bubuko.com

疯狂Android讲义 - 学习笔记(六)

第7章 7.1 使用简单图片 7.1.1 使用Drawable对象 7.1.2 Bitmap和BitmapFactory 7.2 绘图 7.2.1 Android绘图基础:Canvas.Paint等 Android的绘图应该继承View组件,并重写onDraw(Canvas canvas) 方法即可,Canvas代表了“依附”于指定View的画布.表7.1 Canvas的绘制方法 Paint代表了Canvas上的画笔,Paint类主要用于设置绘制风格,包括画笔颜色.画笔粗细.填充风格等. 7.2

疯狂Android讲义 - 学习笔记(八)

第10章 Service与BroadcastReceiver 10.1 Service简介 Service组件也是可执行的程序,有自己的生命周期,创建.配置Service与创建.配置Activity的过程基本相似.Service一直在后台运行,没有用户界面. 10.1.1 创建.配置Service 需要2个步骤:1 定义基础Service的子类,2 在AndroidManifest.xml文件中配置Service. Service与Activity都是从Context派生出来的,因此都可以调用C

疯狂Android讲义 - 学习笔记(五)

第五章 Android使用统一的Intent对象来封装“启动意图”,不管是启动Activity.Service组件.或者BroadcastReceiver等,提供了一致的编程模型.Intent设计有点类似于Struts2框架中的逻辑视图设计. Intent还是应用程序组件之间通信的重要媒介:数据封装成Bundle对象,Intent携带Bundle对象. 5.1 Intent对象详解 5.2 Intent的属性及intent-filter配置 5.2.1 Component属性 5.2.2 Act

疯狂Android讲义 - 学习笔记(四)

Android应用通常有多个Activity,多个Activity组成Activity栈,当前活动的Activity位于栈顶.Activity相当于Java Web开发的Servlet.当Activity处于Android应用运行时,同样受系统控制.有生命周期. 4.1 建立.配置和使用Activity 4.1.1 Activity 建立自己的Activity需要集成Activity基类,在不同的应用场景,有时也能集成Activity的子类. Activity间接或直接继承了Context.Co

疯狂Android讲义 - 学习笔记(七)

第8章 Android数据存储与IO  Java IO的数据存储可以移植到Android应用开发上来,Android系统还提供了一些专门的IO API. Android系统内置了SQLite数据库,SQLite是轻量级的,没有后台进程,整个数据库对应一个文件,这样可以非常方便的在不同设备之间移植.Android为访问SQLite提供了大量便捷的API. 8.1 使用SharedPreferences 适用于保存简单格式的数据. 8.1.1 SharedPreferences 与 Editor S

【疯狂Java讲义学习笔记】【数据类型与运算符】

[学习笔记]1.8bit = 1byte,4byte = 1word.Java中的整型数据有byte(1字节),short(2字节),int(4字节),long(8字节).Java中的浮点数据有float(4字节),double(8字节)Java中还有一个字符型char(2字节),本质也是整型Java中的布尔型boolean(1位) 2.类型转换分为自动类型转换和强制类型转换.自动类型转换,比如:范围小的数赋值给了范围大的数:空字符串和基本类型数值连接. 3.表达式类型的自动提升:当一个算术表达

【疯狂Java讲义学习笔记】【流程控制与数组】

[学习笔记]1.switch语句后的expression表达式的数据类型只能是byte.short.char.int四个整数类型.String(Java 7后才支持)和枚举类型. 2.数组的长度不可变,定义数组时候不能指定数组的长度.为数组分配空间的时候一定要进行初始化,数组初始化的方法有两种,第一种是静态初始化,在数组中直接为每个数组元素赋上初值,另一种是动态初始化,在初始化的时候指定数组的长度,由系统来为每个元素指定初值.注意的是两种初始化不能够同时使用,即既指定数组的长度,同时又为每个元素

疯狂Android讲义 - 学习笔记(三)

Android的事件处理 3.1 Android提供了两套事件处理机制:基于监听的事件处理.基于回调的事件处理. 3.2 基于监听的事件处理 3.2.1 监听的处理模型  主要涉及三类对象:EventSource.Event.EventListener. Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件将整个事件处理委托给特定的对象(事件监听器),可以把所有可能的事件授权给不同的事件监听器来处理,也可以让一类事件都使用同一个事件监听器来处理. 事件监听类是一

《疯狂XML讲义》学习笔记

<疯狂XML讲义>主要分为五个部分.第一部分介绍了XML.DTD.XML Schema等基础知识,这些知识主要教读者如何定义有效的XML文档,这部分 内容是深入学习后面知识的基础,也是每个使用XML的开发者都应该掌握的 基础.第二部分介绍了CSS.XSLT和XPath等知识,通过使用CSS或XSLT,可 直接将XML文档当成视图技术.第三部分介绍了DOM.SAX.JAXP.dom4j. JDOM.XQuery和XQJ等,其中的DOM.SAX.JAXP.dom4j和JDOM都以结构化的 方式来创