数据库认知

  近几年的流行热词"大数据时代"是由著名的麦肯锡咨询公司提出的概念,是的,现代社会是信息爆炸的时代,数据作为信息的载体,其重要性不言而喻。那么数据库作为保存数据的容器,我们又该如何来学习和认知呢?

  什么是数据库?这个问题应该不难回答,通俗的说,就是能储存数据的仓库。但是,仅仅存储是不够的,早期的人工管理和文件系统数据库,存在数据文件相互独立、数据冗余、查询不便、逻辑独立性差等缺点,所以数据库一定是按照某种特定的组织结构长期存储在计算机系统中并能共享访问的数据集合。

  现代社会数据文件规模日趋庞大,数据量急剧增加,传统的人工管理和文件系统已不能满足企业和科研的要求。1970年 IBM 高级研究员 Codd 发表论文提出了关系数据模型及其相关概念,应用数学的方法来处理数据库中的数据。关系模型是用二维表结构来表示实体集与实体集之间的联系的一种模型,包括一对一、一对多、多对多这三种联系和关系数据结构、关系数据操作和关系完整性约束这三要素,有着严格的数学基础,抽象级别很高,奠定了现代关系数据库的理论基础。

  因此,现代数据库系统 (Database System) 应运而生,是为了实现有组织的、动态的存储大量关联数据,方便多用户查询访问的计算机软件、硬件和数据资源组成的系统。其中不仅包含了数据库、数据库管理系统 (Database Management System),还有相应的软件、硬件和管理员。简单的说:

  数据库系统 = 计算机系统(软硬件平台、管理员) + 数据库管理系统 + 数据库。

  关系数据库的研究和发展三十多年来取得了辉煌的成就,但是,随着互联网 Web 2.0 网站的兴起,传统的关系数据库在应付 Web2.0网站,特别是超大规模和高并发的社交网络类型的动态网站已经显得力不从心,暴露了很多难以克服的问题。1998年 Carlo Strozzi 提出了 NoSQL (Not Only SQL) 的概念,主要指他开发的一个没有 SQL 功能,轻量级的开源的关系型数据库。虽然与现在 NoSQL 的定义大相径庭,但是为后人提供了 No Relational 的理念,非关系型数据库提出以键值对存储,并且结构可以不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。通过这种方式用户可以根据需要去添加自己需要的字段,不需要像关系型数据库中,要对多表进行关联查询,大大减少了数据库系统的查询次数。

  严格意义上来说,非关系型数据库并不是一种数据库,应该是一种数据结构化存储方法的集合。尽管 NoSQL 的诞生和流行是为了解决关系型数据库的缺点,但非关系型数据库相对关系型数据库来说并不是更新换代的进步,二者在各自擅长的领域更好的服务人类和社会。

  

时间: 2024-10-29 19:11:17

数据库认知的相关文章

MSSQL2008数据库备份还原和数据恢复

原文:MSSQL2008数据库备份还原和数据恢复   序言 一直想写一篇关于数据库备份与恢复的文章,但基于能力的有限对数据库认知的有限怕不足以准确的表达,最后思考很久还是决定把自己的一些理解写出来供大家参考,也是为了回报自己:出于能力及语言表达能力的有限还望大家包含,如果里面有说的不对的地方还望大家及时提出.好及时修改不至于错误的引导他人. 认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还

MVC认知路【点点滴滴支离破碎】【一】----新建数据库

1.App_Data文件夹创建[SQL Server Compact Local Database *]数据库 2.添加链接字符串<add name="MovieDBContext" connectionString="Data Source=|DataDirectory|Movies.sdf" //此处红色就代表了项目下的App_Data文件夹 providerName="System.Data.SqlServerCe.4.0"/>

认知,构建个人的知识体系(上)

1.前言 本文将聊聊我对构建个人知识体系的一些想法,主要是为了提升自我认知.从个人经历开始,谈谈对知识的划分,也就是一个是什么,为什么的过程. 2.缘起 把时间回到一年前,那时候我工作快一年了,得益于前面的一些努力,工作比较顺利.特别是技术上,没有遇到太多过无法解决的问题.同时也开始迷茫,工作难道就是这个轻松的样子?三五年之后那不是很无趣,该怎么办? 想找到这个问题的答案,而最好的方式莫过于,亲自去了解那些三五年工作经验的人是怎么的样子. 因此从那时候起,关注了不少来公司面试的人的简历,也有过几

深入浅出数据库索引原理

前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了.我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:"是不是数据库查询上出问题了, 给表加上索引吧",然后妹子来了一句:"现在我们网站访问量太大,加索引有可能导致写入数据时性能下降,影响用户使用的".当时我就楞了一下, 有种强行装逼被拆穿的感觉,在自己的专业领域居然被非专业的同学教

[转载] nosql 数据库的分布式算法

原文: http://juliashine.com/distributed-algorithms-in-nosql-databases/ NoSQL数据库的分布式算法 On 2012年11月9日 in 也为稻粱故, by Juliashine 本文译自 Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性.这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去

蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知

蓝的成长记--追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知 ***************************************声明*************************************** 个人在oracle路上的成长记录,其中以蓝自喻,分享成长中的情感.眼界与技术的变化与成长.敏感信息均以英文形式代替,不会泄露任何企业机密,纯为技术分享. 创作灵感源于对自己的自省和记录.若能对刚刚起步的库友起到些许的帮助或共鸣,欣慰不已. 欢迎拍砖,如有关

认知计算概论

前段时间的"人机大战"--谷歌的Alpha Go战胜人类棋手的新闻甚嚣尘上,不禁有人会想起1997年IBM自主研发的深蓝战胜卡斯帕罗夫的事件."人工智能"这个词再次被推上风口浪尖,而"认知计算"却鲜有人听说,同样是人类模拟机器思索,让机器具有自主思考能力,都是具有跨时代意义和里程碑式的存在. 认知计算更加强调机器或人造大脑如何能够主动学习.推理.感知这个世界,并与人类.环境进行交互的反应.它会根据环境的变化做出动态的反应,所以认知更加强调它的动态

软件工程的认知和目标

认知: 当在课表看到软件工程这门课的时候,并没有太多的想法与理解,一提到“软件”,我想到的就是游戏.软件开发.操作系统等等,而看到“程序”,就知道又是一门无尽的代码与编程,尽管我也不知道理解的对不对吧.在翻动课本之前,我实在无法将构建之法与软件工程联系到一起,我知道我弱爆了.通过百度我进一步了解了“软件工程”这门学科: 软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的邮件软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面.在现代社会中,软件应用于

软件工程的认知与目标

我对于软件工程课的认知:软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面.在现代社会中,软件应用于多个方面.典型的软件有电子邮件.嵌入式系统.人机界面.办公套件.操作系统.编译器.数据库.游戏等.同时,各个行业几乎都有计算机软件的应用,如工业.农业.银行.航空.政府部门等.这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 .软件工程的定义 :软件工程 (Software Engineer