数据库教程的目录

数据库教程的目录,第1张

第一章编程的时间和空间11编程的本质3编程的本质是思考4创造世界的乐趣4快速提高的性能改变了社会5以不变应万变8摩尔定律的局限9社会变化与编程1012未来预测13科学的未来预测14IT未来预测14极限未来预测16从价格看未来16从性能看未来17从容量看未来18从带宽看未来19小结20第二章编程语言的过去、现在和未来21编程语言的世界23被历史埋没的先驱25编程语言的历史26编程语言的进化方向30未来的编程语言3220年后的编程语言34学生们的想象3422DSL(特定领域语言)36外部DSL37内部DSL38DSL的优势39DSL的定义39适合内部DSL的语言40外部DSL实例42DSL设计的构成要素43Sinatra46小结4723元编程48Meta,Reflection48类对象51类的 *** 作52Lisp53数据和程序54Lisp程序56宏56宏的功与过57元编程的可能性与危险性59小结6024内存管理61看似无限的内存61GC的三种基本方式62术语定义62标记清除方式63复制收集方式64引用计数方式65引用计数方式的缺点65进一步改良的应用方式66分代回收66对来自老生代的引用进行记录67增量回收68并行回收69GC大统一理论6925异常处理71“一定没问题的”71用特殊返回值表示错误72容易忽略错误处理72Ruby中的异常处理73产生异常74更高级的异常处理75Ruby中的后处理保证76其他语言中的异常处理77Java的检查型异常77Icon的异常和真假值78Eiffel的DesignbyContract80异常与错误值80小结8126闭包82函数对象82高阶函数83用函数参数提高通用性84函数指针的局限85作用域:变量可见范围87生存周期:变量的存在范围88闭包与面向对象89Ruby的函数对象89Ruby与JavaScript的区别90Lisp-1与Lisp-291第三章编程语言的新潮流31语言的设计97客户端与服务器端97向服务器端华丽转身98在服务器端获得成功的四大理由99客户端的JavaScript100性能显著提升101服务器端的Ruby102RubyonRails带来的飞跃102服务器端的Go103静态与动态104动态运行模式105何谓类型105静态类型的优点106动态类型的优点106有鸭子样的就是鸭子107StructuralSubtyping108小结10832Go109New(新的)109(实验性的)109Concurrent(并发的)110Garbage-collected(带垃圾回收的)110Systems(系统)111Go的创造者们111HelloWorld112Go的控制结构113类型声明116无继承式面向对象118多值与多重赋值120并发编程122小结12433Dart126为什么要推出Dart126Dart的设计目标129代码示例130Dart的特征132基于类的对象系统132非强制性静态类型133Dart的未来13434135最普及的语言135被误解最多的语言135显著高速化的语言136对JavaScript的不满138138安装方法139声明和作用域139分号和代码块141省略记法142字符串143数组和循环143类145小结14635Lua148示例程序149数据类型149函数150表150元表151方法调用的实现153基于原型编程155和Ruby的比较(语言篇)157嵌入式语言Lua157和Ruby的比较(实现篇)158嵌入式Ruby159第四章云计算时代的编程41可扩展性163信息的尺度感163大量数据的查找164二分法查找165散列表167布隆过滤器169一台计算机的极限170DHT(分布式散列表)171Roma172MapRece173小结17442C10K问题175何为C10K问题175C10K问题所引发的“想当然”177使用epoll功能180使用libev框架181使用183小结18543HashFold186HashFold库的实现(Level1)187运用多核的必要性190目前的Ruby实现所存在的问题191通过进程来实现HashFold(Level2)191抖动193运用进程池的HashFold(Level3)194小结19744进程间通信198进程与线程198同一台计算机上的进程间通信199TCPIP协议201用C语言进行套接字编程202用Ruby进行套接字编程204Ruby的套接字功能205用Ruby实现网络服务器208小结20945Rack与Unicorn210Rack中间件211应用程序服务器的问题212Unicorn的架构215Unicorn的解决方案215性能219策略220小结221第五章支撑大数据的数据存储技术51键-值存储225Hash类225DBM类226数据库的ACID特性226CAP原理227CAP解决方案——BASE228不能舍弃可用性229大规模环境下的键-值存储230访问键-值存储230键-值存储的节点处理231存储器232写入和读取233节点追加233故障应对233终止处理235其他机制235性能与应用实例236小结23652NoSQL237RDB的极限237NoSQL数据库的解决方案238形形色色的NoSQL数据库239面向文档数据库240MongoDB的安装241启动数据库服务器243MongoDB的数据库结构244数据的插入和查询244用JavaScript进行查询245高级查询246数据的更新和删除249乐观并发控制25053用Ruby来 *** 作MongoDB251使用Ruby驱动251对数据库进行 *** 作253数据的插入253数据的查询253高级查询254find方法的选项256原子 *** 作257259ODMapper26054SQL数据库的反击264“云”的定义264SQL数据库的极限264存储引擎Spider265SQL数据库之父的反驳265SQL数据库VoltDB268VoltDB的架构269VoltDB中的编程270HelloVoltDB!271性能测试273小结27555memcached和它的伙伴们276用于高速访问的缓存276memcached277示例程序278对memcached的不满279memcached替代服务器280另一种键-值存储Redis282Redis的数据类型284Redis的命令与示例285小结289第六章多核时代的编程61摩尔定律293呈几何级数增长293摩尔定律的内涵294摩尔定律的结果295摩尔定律所带来的可能性296为了提高性能297摩尔定律的极限302超越极限303不再有免费的午餐30462UNIX管道305管道编程306多核时代的管道308xargs——另一种运用核心的方式309注意瓶颈311阿姆达尔定律311多核编译312ache313dist313编译性能测试314小结31563非阻塞I/O316何为非阻塞IO316使用read(2)的方法317边沿触发与电平触发319使用read(2)select的方法319使用readO_NONBLOCK标志321Ruby的非阻塞IO322使用aio_read的方法32364nodejs330减负330拖延331委派332非阻塞编程333nodejs框架333事件驱动编程334事件循环的利弊335nodejs编程335nodejs网络编程337nodejs回调风格339nodejs的优越性340与Rev34165ZeroMQ342多CPU的必要性342阿姆达尔定律343多CPU的运用方法343进程间通信345管道345SysVIPC346套接字347UNIX套接字349ZeroMQ349ZeroMQ的连接模型350ZeroMQ的安装352ZeroMQ示例程序352小结354版权声明356

大数据正在如何改变数据库格局

提及“数据库”,大多数人会想到拥有30多年风光历史的RDBMS。然而,这可能很快就会发生改变。

一大批新的竞争者都在争夺这一块重要市场,他们的方法是多种多样的,却都有一个共同点:极其专注于大数据。推动新的数据迭代衍生品大部分都是基于底层大数据的3V特征:数量,速度和种类。本质上来讲,今天的数据比以往任何时候都要传输更快,体积更大,同时更加多样化。这是一个新的数据世界,换言之,传统的关系数据库管理系统并没有真正为此而设计。“基本上,他们不能扩展到大量,或快速,或不同种类的数据。”一位数据分析、数据科学咨询机构的总裁格雷戈里认为。这就是哈特汉克斯最近发现。截至到2013年左右,营销服务机构使用不同的数据库,包括MicrosoftSQLServer和Oracle真正应用集群(RAC)的组合。“我们注意到,数据随着时间的增长,我们的系统不能足够快速的处理信息”一位科技发展公司的负责人肖恩说到。“如果你不断地购买服务器,你只能继续走到这幺远,我们希望确保自己有向外扩展的平台。”最小化中断是一个重要的目标,Iannuzzi说到,因此“我们不能只是切换到Hadoop。”相反,却选择了拼接机器,基本上把完整的SQL数据库放到目前流行的Hadoop大数据平台之上,并允许现有的应用程序能够与它连接,他认为。哈特汉克斯现在是在执行的初期阶段,但它已经看到了好处,Iannuzzi说,包括提高容错性,高可用性,冗余性,稳定性和“性能全面提升”。一种完美风暴推动了新的数据库技术的出现,IDC公司研究副总裁CarlOlofson说到。首先,“我们正在使用的设备与过去对比,处理大数据集更加快速,灵活性更强”Olofson说。在过去,这样的集合“几乎必须放在旋转磁盘上”,而且数据必须以特定的方式来结构化,他解释说。现在有64位寻址,使得能够设置更大的存储空间以及更快的网络,并能够串联多台计算器充当单个大型数据库。“这些东西在不可用之前开辟了可能性”Olofson说。与此同时,工作负载也发生了变化。10年前的网站主要是静态的,例如,今天我们享受到的网络服务环境和互动式购物体验。反过来,需要新的可扩展性,他说。公司正在利用新的方式来使用数据。虽然传统上我们大部分的精力都放在了对事务处理_销售总额的记录,比如,数据存储在可以用来分析的地方_现在我们做的更多。应用状态管理就是一个例子假设你正在玩一个网络游戏。该技术会记录你与系统的每个会话并连接在一起,以呈现出连续的体验,即使你切换设备或各种移动,不同的服务器都会进行处理,Olofson解释说。数据必须保持连续性,这样企业才可以分析问题,例如“为什么从来没有人穿过水晶厅”。在网络购物方面,为什么对方点击选择颜色后大多数人不会购买某个特殊品牌的鞋子。“以前,我们并没试图解决这些问题,或者我们试图扔进盒子也不太合适”Olofson说。Hadoop是当今新的竞争者中一个重量级的产品。虽然他本身不是一个数据库,它的成长为企业解决大数据扮演关键角色。从本质上讲,Hadoop是一个运行高度并行应用程序的数据中心平台,它有很强的可扩展性。通过允许企业扩展“走出去”的分布方式,而不是通过额外昂贵的服务器“向上”扩展,“它使得我们可以低成本地把一个大的数据集汇总,然后进行分析研究成果”Olofson说。其他新的RDBMS的替代品如NoSQL家族产品,其中包括MongoDB-目前第四大流行数据库管理系统,比照DB引擎和MarkLogic非结构化数据存储服务。“关系型数据库一直是一项伟大的技术持续了30年,但它是建立在不同的时代有不同的技术限制和不同的市场需求,”MarkLogic的执行副总裁乔·产品帕卡说。大数据是不均匀的,他说。许多传统的技术,这仍然是一个基本要求。“想象一下,你的笔记本电脑上唯一的程序是Excel”帕卡说。“设想一下,你要和你的朋友利用网络保持联系_或者你正在写一个合约却不适合放进行和列中。”拼接数据集是特别棘手的“关系型,你把所有这些数据集中在一起前,必须先决定如何去组织所有的列,”他补充说。“我们可以采取任何形式或结构,并立即开始使用它。”NoSQL数据库没有使用关系数据模型,并且它们通常不具有SQL接口。尽管许多的NoSQL存储折中支持速度等其他因素,MarkLogic为企业定身量做,提供更为周全的选择。NoSQL储存市场有相当大的增长,据市场研究媒体,不是每个人都认为这是正确的做法-至少,不是在所有情况下。NoSQL系统“解决了许多问题,他们横向扩展架构,但他们却抛出了SQL,”一位CEO-MonteZweben说。这反过来,又为现有的代码构成问题。SpliceMachine是一家基于Hadoop的实时大数据技术公司,支持SQL事务处理,并针对OLAP和OLAP应用进行实时优化处理。它被称为替代NewSQL的一个例子,另一类预期会在未来几年强劲增长。“我们的理念是保持SQL,但横向扩展架构”Zweben说。“这是新事物,但我们正在努力试图使它让人们不必重写自己的东西。”深度信息科学选择并坚持使用SQL,但需要另一种方法。公司的DeepSQL数据库使用相同的应用程序编程接口(API)和关系模型如MySQL,意味着没有应用变化的需求而使用它。但它以不同的方式处理数据,使用机器学习。DeepSQL可以自动适应使用任何工作负载组合的物理,虚拟或云主机,该公司表示,从而省去了手动优化数据库的需要。该公司的首席战略官ChadJones表示,在业绩大幅增加的同时,也有能力将“规模化”为上千亿的行。一种来自Algebraix数据完全不同的方式,表示已经开发了数据的第一个真正的数学化基础。而计算器硬件需在数学建模前建成,这不是在软件的情况下,Algebraix首席执行官查尔斯银说。“软件,尤其是数据,从未建立在数学的基础上”他说,“软件在很大程度上是语言学的问题。”经过五年的研发,Algebraix创造了所谓的“数据的代数”集合论,“数据的通用语言”Silver说。“大数据肮脏的小秘密是数据仍然放在不与其他数据小仓融合的地方”Silver解释说。“我们已经证明,它都可以用数学方法来表示所有的集成。”配备一个基础的平台,Algebraix现在为企业提供业务分析作为一种服务。改进的性能,容量和速度都符合预期的承诺。时间会告诉我们哪些新的竞争者取得成功,哪些没有,但在此期间,长期的领导者如Oracle不会完全停滞不前。“软件是一个非常时尚行业”安德鲁·门德尔松,甲骨文执行副总裁数据库服务器技术说。“事情经常去从流行到不受欢迎,回再次到流行。”今天的许多创业公司“带回炒冷饭少许抛光或旋转就可以了”他说。“这是一个新一代孩子走出学校和重塑的东西。”SQL是“唯一的语言,可以让业务分析师提出问题并得到答案,他们没有程序员,”门德尔松说。“大市场将始终是关系型。”至于新的数据类型,关系型数据库产品早在上世纪90年代发展为支持非结构化数据,他说。在2013年,甲骨文的同名数据库版本12C增加了支持JSON(JavaScript对象符号)。与其说需要一个不同类型的数据库,它更是一种商业模式的转变,门德尔松说。“云,若是每个人都去,这将破坏这些小家伙”他说。“大家都在云上了,所以在这里有没有地方来放这些小家伙?“他们会去亚马逊的云与亚马逊竞争?”他补充说。“这将是困难的。”甲骨文有“最广泛的云服务”门德尔松说。“在现在的位置,我们感觉良好。”Gartner公司的研究主任里克·格林沃尔德,倾向于采取了类似的观点。“对比传统强大的RDBMS,新的替代品并非功能齐全”格林沃尔德说。“一些使用案例可以与新的竞争者来解决,但不是全部,并非一种技术”。展望未来,格林沃尔德预计,传统的RDBMS供货商感到价格压力越来越大,并为他们的产品增加新的功能。“有些人会自由地带来新的竞争者进入管理自己的整个数据生态系统”他说。至于新的产品,有几个会生存下来,他预测“许多人将被收购或资金耗尽”。今天的新技术并不代表传统的RDBMS的结束,“正在迅速发展自己”IDC的Olofson。赞成这种说法,“RDBMS是需要明确定义的数据_总是会有这样一个角色。”但也会有一些新的竞争者的角色,他说,特别是物联网技术和新兴技术如非易失性内存芯片模块(NVDIMM)占据上风。

以上就是关于数据库教程的目录全部的内容,包括:数据库教程的目录、大数据正在如何改变数据库格局、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9854553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存