2019-02-19

1、php

PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。

https://baike.baidu.com/item/PHP/9337?fr=aladdin

2、MySql的兴起

php友好是关键因素,查了一下MySql:Original development of MySQL by Widenius and Axmark began in 1994

With the rise of PHP the friendlier MySQL platform was adopted much faster than the stricter, rules-based Postgres platform. And by “friendlier” I mean “stupider”.

MySQL will happily ignore your defaults and constraints as an effort to “help you” by not being terribly strict

It will insert “” into non-nullable columns if nullable values are disallowed

It will insert nonsense dates (0000-00-00) into date columns if nullable values are disallowed

It returns NULL for 1/0

It returns NULL for “THIS IS NOT A NUMBER”/0

If you try to insert 1000 into a column that only allows a length of 2, it will round that number down to 99

This is why you should care about using MySQL. It doesn’t safeguard your data by default – it tries to help you out by bending data integrity

https://rob.conery.io/2012/07/18/postgresql-rising/

3、POSTGRES的兴起

查了一下wiki,postgres成立的时间很早,以下是一个节点时间,但postgres肯定不是为了搞地理信息位置而设定的。

Postgres can be configured with a lot of interesting options – the ability to run Geospatial indexing (PostGIS), creating functions with Ruby and Javascript, and extending the query engine to go up against remote sources like GMail. These features need to be compiled with the core code – something that can be a bit of a pain even when using Homebrew on your Mac.

Homebrew simply grabs the source and compiles it based on common usage patterns replicated in the “recipe”. Postgres.app is precompiled and runs as a little daemon that you can turn on and off when needed. Just download it, drag it into your Applications directory and you’re done.

Compare that with a SQL Server or Oracle installation.

然后2013年有个salesforce开始使用postgres的消息

https://www.wired.com/2013/05/salesforce-tom-lane/

4、VMware

https://www.wired.com/2012/04/nicira/

这里要注意的创始人找的合伙人Alan Cohen,He spent six years as a marketing exec at Cisco。这个销售原来卖网络产品,现在卖操纵网络产品的虚拟机。Martin Casado envisions a world where networks can be programmed like computers.

The platform is so attractive to these companies because today's hardware networks are ridiculously difficult to modify. Raymie Stata, until recently the chief technology officer of Yahoo, compares a complex computer network to the 15-puzzle game, that classic mind-bender were you're trying to rearrange 15 sliding tiles inside a square with space for only 16. When making a change to your network, he says, there are times when you have no choice but to physically rearrange the hardware.

In virtualizing the network, Nicira lets you make such changes in software, without touching the underlying hardware gear.

https://www.wired.com/2012/07/vmware-buys-nicira/

这是关于vmware和Nicira合并

15:24 2019/2/19想到2012年国内谈云计算,我都不知道在说啥,感觉实在low逼的不行。

数据中心关键技术就是虚拟机

5、Google的优势

https://www.wired.com/2012/08/google-as-xerox-parc/

这篇文章在2012年谈了2005年谷歌开始建立的优势(谷歌就是把原本一台超级计算机做索引的想法分解给了一堆普通的计算机做并发计算)。三大云计算零部件,the Google File System(可扩展分布式存储系统)、MapReduce(并发计算)、BigTable(数据管理系统,包括索引,适应各种应用需求,包括不同大小的文件、延迟。)这些玩意儿2009年公开,但是在2004、2005年就有分享理念的工作论文(amazon和google都是分享理念,不分享实施过程)。

16:44 2019/2/19这里值得一提的是2006年10月谷歌收购了youtube

6、一个facebook的案例,关于不同应用接不同种类数据库

https://www.theregister.co.uk/2010/11/15/facebooks_largest_ever_engineering_project/

The company was already using MySQL as the primary repository for user data, the open source Cassandra platform for inbox search, the Hadoop-friendly SQL-like language known as Hive for analytics, and the proprietary Haystack for photos. But Hbase provided something different.

"In order to support this really cool and very deep scenario...we needed to rebuild our [messaging] infrastructure." Bosworth said. "Over a year ago, we started looking at storage systems...We weren't sure of the trade-offs [with Cassandra]. We tested MySQL, but we weren't sure it could perform with long-tail data. So we invested in HBase." Hbase is built atop HDFS, the Hadoop File System, an open source incarnation of the old Google File System (GFS).

"Because we want to expose the long-tail of your conversation history really easily, a log-based storage system like HBase makes the most sense," Bosworth told The Reg. "Cassandra — which we love and we built — has some trade-offs around consistency. Because we want this to be real-time — so you always know what messages you're getting — we didn't like those trade-offs."

Cassandra应用于这个场景都需要一些平衡,这是fb工程师说的话,你认为自己可能能找到能在事先评价一个数据库对一个场景效果的工程师么?应该是没有的。所以我现在在软件上追求的知识应该就是这个网站上写到的各种软件使用情况

这里还有一篇文章写了这个问题

https://www.theregister.co.uk/2010/12/17/facebook_messages_tech/

提到这个系统文字信息对接HBase数据库,附件对接Haystack数据库(这个可以慢传)。然后再次谈到了选择Hbase而不是Cassandra的原因是一致性问题:

Ranganathan and company used Haystack for attachment and very large messages because they didn't need the same write speed with these beefy files and Haystack could use far fewer servers in replicating the files across data centers. But they ditched MySQL entirely. They felt it couldn't provide quick access to such a large amount of data. "We have a lot of data that's quick and temporal," Seligstein says. "You need access to your first page of messages quite often."

(比较MySQL和Hbase,在读速度上有差距)

For many, it's surprising that Facebook didn't put the messaging system on Cassandra, which was originally developed at the company and has since become hugely popular across the interwebs. But Ranganathan and others felt that it was too difficult to reconcile Cassandra's "eventual consistency model" with the messaging system setup.

"If you're going to front the data with some sort of a cache...then it becomes very difficult for use to program a cache where the database heals from underneath," Ranganathan says. "For a product like messaging, we needed a strong consistency model [as HBase offers]." If a user sends an email, he says, you have to be able to tell the user – immediately the email was sent. "If it doesn't show that it's been sent, I think 'Oh, I didn't send it,' and then I send it again. Then I come in the next day and I see it's been sent twice, and I get pissed at Facebook."

(HBase是强一致性,而Cassandra是最终一致性。强一致性就是 也就是只有一种状态被所有的并行进程观察到。最终一致性就是在收敛之前,不同服务器看到的结果可能不同。)

He also felt that the system needed HBase physical replication as opposed to Cassandra's logical replication. With Cassandra, he says, if something gets corrupted and you lose a disk and you have to restore the data, you have to restore the entire replica. Because Facebook uses very dense machines, this would mean a very long recovery time.

你可能感兴趣的:(2019-02-19)