大数据下的数据问题-从很远很远的历史开始谈未来,谈谈阿里云ODPS的SQL复杂度,谈设计新的数据库,最终?
来源:互联网 发布:知豆电动车价格 编辑:程序博客网 时间:2024/05/08 03:31
深夜爱学习。
文章要谈
大数据下的数据问题-从很远很远的历史开始谈未来,谈谈阿里云ODPS的SQL复杂度,mapreduce,谈设计新的数据库,人工智能,。。。。好多东西。
其实写的时候也不知道本文的目的是啥?分析SQL?分析数据库性能?设计新的数据库? 连接池,负载均衡,并行查询?先写着吧,把自己知道的都先写下来。
一个近似理想主义的数据库的概念应该是:能够调用,存储程序和数据的系统
SELECT 数据,程序 WHERE 数据=, 程序=
连接池?为啥要去“连接”数据库?
虽然自己没做过DBA但是,从最早带索引的文件存储到层次型数据库(IMS代表),到关系型数据库(ORACLE代表)和现在的NOSQL,几所类型的数据库都用了一遍,从我了解的谈谈所谓的数据库。如下:
数据文件存储数据
主要是VSAM,在大型机下开发了几年。这种数据类型主要是以KSDS为代表的带KEY值(索引)的,安记录(需要给定记录长度)的存储方式。数据冗余比较大,这种方式冗余也比较有意思。
来看下面这个问题,比如:
表一中客户重复了,表二中商品字段要满足客户的最大要求。万一有的客户只有1种商品,有的客户有几百种商品,这个表的空间浪费很大。
但是从效率的角度来说,多次读取时间大于一次读取的时间。我们从大学的操作系统理论中就知道:内存的速度大于IO的速度。事实也是如此,想象原始的硬盘磁头去定位三条数并读取出来是多么的困难,但一条数据按照轨道读一大段就比较容易了。 从中也可以理解存储技术在发展时的一些轨迹,介质从卡片到磁带到硬盘到固态硬盘都是围绕提高定位和读取的速度发展的。
所以在设计的时候往往会选择(表2)的结构,是个经典的空间换时间的例子,当然一定要预留一定的扩展空间,否则当一个文件列不够用的时候只能从这个文件拷到一个更宽的文件中去了。
在操作的时候如果SQL用where 商品 = ITEM_A,这个在关系型非常常见的操作,按照表2的情况,就要用 if 商品1 == A or 商品2 == A or ....去找了。
当然你也可以自己写一个简单的语言解释器,把 where 商品 = ITEM_A 这个东西 转换成 if 商品1 == A or 商品2 == A or ...
从这里去通俗理解: SQL做性能优化之一,先recomplie下SQL语句, 其实也就是上面的过程。
很多在大型机上的项目至今还沿用这种结构。现在想想,现实中真的有这么多关系要处理吗?
所以这种方式操作难, 性能复杂 分布式
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~未完~~~~~~
IMS在工作培训的时候用到过,大概3个月时间,期间还写了一个select的解释器。
关系型数据库
一直
NOsql
最近一个项目取WEBAPI的时候用到过,由于每次返回数据格式是JSON,把它拆开来insert到
不管文件也好,关系型数据库,或者非关系型数据库,其本质都是文件。当然刚刚学的人会涉及另外一个概念:数据库系统
2.SQL复杂度:先统计SQL语句中的关键字,再折算为SQL复杂度,具体如下: a) SQL关键字个数 = Join个数 + Group By个数 + Order By个数 + Distinct个数 + 窗口函数个数 + analyze个数 + max( insert into个数-1, 1) b)
- 大数据下的数据问题-从很远很远的历史开始谈未来,谈谈阿里云ODPS的SQL复杂度,谈设计新的数据库,最终?
- 前方的很远
- 火箭的路还很远
- 朋友的距离还是很远?
- 世界这么大,感觉差一点儿,其实差的很远。
- 同一个表中查询不同的数据,执行时间相差很远,是什么原因?
- 《自编歌曲《爱走的很远》》
- 人生的路很远,一路小心
- 大数据的弄潮儿:阿里产品dataX和ODPS的使用方法
- java——距离心灵很远的语言
- 离我们很远?NFC的实际用途测试。
- 应用程序之间的距离可以很近,亦可以很远
- 【大数据干货】数据进入阿里云数加-大数据计算服务MaxCompute(原ODPS)的N种方式
- ODPS数据倾斜导致的问题
- 大数据:未来的新石油
- 对普通程序员来说,大数据是不是离我们很远?
- 数据引擎-阿里的ODPS大规模计算引擎
- 从数据库的历史看未来
- codeforces 546D
- hdu 2028 Lowest Common Multiple Plus (java)
- android工程不自动更新R文件的问题解决
- 使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
- Auto Layout 进阶
- 大数据下的数据问题-从很远很远的历史开始谈未来,谈谈阿里云ODPS的SQL复杂度,谈设计新的数据库,最终?
- iOS开发之Auto Layout入门
- MFC CListCtrl 在没有任何焦点下让某行高亮
- Autolayout及VFL经验分享
- Js直接处理状态,包括双击删除这条数据,并移除
- 勇士还是火箭的的进攻多由后场球员策动
- contest: Codeforces Round #300, problem: (A) Cutting Banner
- jNetPcap-用Java实现libpcap完整封装的网络数据包捕获函数库
- 张歆艺袁弘同居被拍喂食亲吻 疑似恋情曝光