① 数据库都有哪些
数据库是一组信息的集合,以便可以方便地访问、管理和更新,常用数据库有:1、关系型数据库;2、分布式数据库;3、云数据库;4、NoSQL数据库;5、面向对象的数据库;6、图形数据库。
计算机数据库通常包含数据记录或文件的聚合,例如销售事务、产品目录和库存以及客户配置文件。
通常,数据库管理器为用户提供了控制读写访问、指定报表生成和分析使用情况的能力。有些数据库提供ACID(原子性、一致性、隔离性和持久性)遵从性,以确保数据的一致性和事务的完整性。
数据库普遍存在于大型主机系统中,但也存在于较小的分布式工作站和中端系统中,如IBM的as /400和个人计算机。
数据库的演变
数据库从1960年代开始发展,从层次数据库和网络数据库开始,到1980年代的面向对象数据库,再到今天的SQL和NoSQL数据库和云数据库。
一种观点认为,数据库可以按照内容类型分类:书目、全文、数字和图像。在计算中,数据库有时根据其组织方法进行分类。有许多不同类型的数据库,从最流行的方法关系数据库到分布式数据库、云数据库或NoSQL数据库。
常用数据库:
1、关系型数据库
关系型数据库是由IBM的E.F. Codd于1970年发明的,它是一个表格数据库,其中定义了数据,因此可以以多种不同的方式对其进行重组和访问。
关系数据库由一组表组成,其中的数据属于预定义的类别。每个表在一个列中至少有一个数据类别,并且每一行对于列中定义的类别都有一个特定的数据实例。
结构化查询语言(SQL)是关系数据库的标准用户和应用程序接口。关系数据库易于扩展,并且可以在原始数据库创建之后添加新的数据类别,而不需要修改所有现有应用程序。
2、分布式数据库
分布式数据库是一种数据库,其中部分数据库存储在多个物理位置,处理在网络中的不同点之间分散或复制。
分布式数据库可以是同构的,也可以是异构的。同构分布式数据库系统中的所有物理位置都具有相同的底层硬件,并运行相同的操作系统和数据库应用程序。异构分布式数据库中的硬件、操作系统或数据库应用程序在每个位置上可能是不同的。
3、云数据库
云数据库是针对虚拟化环境(混合云、公共云或私有云)优化或构建的数据库。云数据库提供了一些好处,比如可以按每次使用支付存储容量和带宽的费用,还可以根据需要提供可伸缩性和高可用性。
云数据库还为企业提供了在软件即服务部署中支持业务应用程序的机会。
4、NoSQL数据库
NoSQL数据库对于大型分布式数据集非常有用。
NoSQL数据库对于关系数据库无法解决的大数据性能问题非常有效。当组织必须分析大量非结构化数据或存储在云中多个虚拟服务器上的数据时,它们是最有效的。
5、面向对象的数据库
使用面向对象编程语言创建的项通常存储在关系数据库中,但是面向对象数据库非常适合于这些项。
面向对象的数据库是围绕对象(而不是操作)和数据(而不是逻辑)组织的。例如,关系数据库中的多媒体记录可以是可定义的数据对象,而不是字母数字值。
6、图形数据库
面向图形的数据库是一种NoSQL数据库,它使用图形理论存储、映射和查询关系。图数据库基本上是节点和边的集合,其中每个节点表示一个实体,每个边表示节点之间的连接。
图形数据库在分析互连方面越来越受欢迎。例如,公司可以使用图形数据库从社交媒体中挖掘关于客户的数据。
访问数据库:DBMS和RDBMS
数据库管理系统(DBMS)是一种允许您定义、操作、检索和管理存储在数据库中的数据的软件。
关系数据库管理系统(RDBMS)是上世纪70年代开发的一种基于关系模型的数据库管理软件,目前仍然是最流行的数据库管理方法。
Microsoft SQL Server、Oracle数据库、IBM DB2和MySQL是企业用户最常用的RDBMS产品。DBMS技术始于20世纪60年代,支持分层数据库,包括IBM的信息管理系统和CA的集成数据库管理系统。一个关系数据库管理系统(RDBMS)是一种数据库管理软件是在20世纪70年代开发的,基于关系模式,仍然是管理数据库的最普遍的方式。
希望能帮助你还请及时采纳谢谢
② 估值380亿美元的数据湖引领者,Databricks是如何发展壮大的
阿尔法公社
重度帮助创业者的天使投资基金
Databricks是一家正在崛起的企业软件巨头。2021年,它连续获得两轮10亿美元级别的大额融资,估值跃升到380亿美元,它在数据和人工智能领域具有全球雄心。
Databricks是一个非典型的创业故事,它由七位联合创始人创办,其中大部分是学者。它从Spark开源项目起步,现在引领了数据湖范式,这将加速其与主要竞争对手Snowflake的竞争。
本文是投资人Matt Turck与Databricks联合创始人兼CEO Ali Ghodsi的对话实录,Matt Turck在2015年就与Databricks的联合创始人Ion Stoica有过对话,对于Databricks的情况相当熟悉。在本文中Ali Ghodsi将透露Databricks从一个开源项目到大型公司的成长经历,以及在团队,产品,进入市场,扩张等方面积累的洞见,Enjoy。
科学家创始人们推动Databricks起步
Matt Turck: 我们谈一下Databricks的起步,AMPLab、Spark和Databricks,这一切是如何开始的?
Ali Ghodsi: 我们当时正处于人工智能革新的风口浪尖:Uber刚刚起步,Airbnb、Twitter处于早期,Facebook还不是巨头。他们声称,使用20世纪70年代诞生的机器学习算法实现了很好的效果。
以当时的常识来想这不可能是真的,我们觉得那些算法不可能Work,但他们说,“不,我们得到了非常厉害的结果。”当仔细观察后,我们的想法被颠覆了——他们确实获得了惊人的结果。以现代硬件和大量数据为支撑,运用上世纪的算法依旧可以获得令人难以置信的产出,我们对此感到震惊。我们想:"需要使之普适化"。例如,在Facebook,他们可以提前检测到情侣分手,如果地球上的每个企业都有这种技术,这会对现有商业产生巨大影响。这就是AMPLab的起点。
Matt Turck: 当时AMPLab的Spark是怎么来的?
Ali Ghodsi: 图灵奖得主之一戴夫·帕特森当时是伯克利的教授,他非常相信人们应该聚在一起,打破孤岛。伯克利的教授们放弃了自己的私人办公室,和所有学生一起在巨大的开放区域办公。
他们试图解决的机器学习问题以当时的技术背景来说是很有挑战性的。AMPLab里做机器学习的人,做数学的人,不得不使用Hadoop,数据的每一次迭代都必须运行MapRece,这样光是做一次迭代就需要20到30分钟。所以当时我们决定:"联合起来,建立一个反应快速的基础架构。”我们在数据上做了很多迭代。因此,不只是做一次,不只是一个SQL引擎,而是可以做递归机器学习的东西,并可以极快地找到数据中的内涵模式。
Matt Turck: Databricks创始故事的特殊之处在于,你们有七、八个联合创始人。回过头看,拥有这样一个大的创始团队利与弊是什么?
Ali Ghodsi: 肯定是有利有弊的。如果你知道如何真正让由七个人组成的紧密小组真正信任对方,并在一起工作得很好,就会发生令人惊讶的事情。我认为Databricks的成功很大程度上归因于我们互相的信任。
创业早期的创始人,即使只有两个人,他们也会争吵,然后可能会在一两年内分裂,这就是问题所在。我们找到了一种方法,使大家真正了解对方的长处和短处,使这段创业旅程成为一种乐趣。
人们总说CEO是地球上最漫长的工作,我从来没有这种感觉。我有很多联合创始人和我在一起,他们一直都在,这对我们来说绝对是一种力量。如果我们没有这些人,就不会有现在的成就。
从开源项目到公司,
从0到100万美元ARR
Matt Turck: 你们是如何从学术性的开源项目(Spark)变成一家公司,然后从0做到1000万美元ARR的?这背后是否有任何决定性的时刻,或其他特别的增长手段?
Ali Ghodsi: 我们从0到100万美元ARR的旅程非常特别,与其他的旅程非常不同。我们经历了三个阶段,第一个阶段是PMF(产品与市场契合)阶段,当你有了一个产品,你能找到它与用户之间的契合点么?这对任何公司都存在挑战。
你一旦你找到PMF,接下来就得弄清楚什么是能将该产品与市场联系起来的渠道,你的产品或许符合市场需求,但怎么通过渠道销售呢?事实上,我们一开始在这方面走了弯路,花了几年时间才确定正确的发展方向。在这几年里,为了弄清楚Databricks的正确模式我们进行了大量的实验。
接下来,让我们从产品开始,然后再谈谈渠道。
产品方面,我们有在伯克利建立的开源技术,但这不一定符合大企业的需要,因为在大企业,他们没有来自伯克利的博士。因此,我们需要为他们大简化问题,我们开始在云中托管它,但事实证明,即使是云版本对他们来说也太复杂了,无法使用。
因此,我们开始与用户一起进行迭代。我们在这之后削减了很多特性和功能,甚至可以说重新构建了一个产品。我们问自己:"如果我们知道现在的一切,回去再做一次,会怎么做?"
于是,我们重新做了另一个开源项目,Delta,你可以把它看作Spark为大型企业所做的非常简单和自动化的软件。当我们在伯克利时,我们的产品设想是提供尽可能多的功能和设置项,因为可能是一个博士在用它做研究。但当我们把产品在企业中推广时,我们意识到不是每个人都有博士学位,大家不知道如何使用它。这就是早期我们遇到的问题。在渠道方面,错误在于,我们在早期真的是非常相信这种产品主导的增长。
关于销售,当时我们的设想是,有了一个简化的产品,我们把它做成基于云的产品,就会有人会使用它,会为它刷信用卡,我们会非常成功。我们可以雇用销售人员,给年轻人打电话进行推销,我们不会雇佣企业的销售人员。我们更喜欢这种模式,它更便宜,更简单。
但那是一个错误。你不能凭空选择你的渠道。你有一个产品和相应的市场,必须找到正确的渠道来连接它们。
Databricks如何开发产品,
数据仓库VS数据湖
Matt Turck: 我们一会再继续谈进入市场。现在让我们先谈谈产品,我在Databricks观察到的令人着迷的事情之一是,你们发布新产品并将其转化为一个平台的速度。从Spark到机器学习到AI工作台再到Lakehouse,请向我们介绍一下产品的思路——一个产品如何导致另一个产品的出现。
Ali Ghodsi: 我们从Spark开始起步,它让用户可以访问所有数据;于是人们开始在企业中创建数据库,并在其中积累了大量数据。但过了一段时间,企业高管会问:“我不在乎我们获得和存储了多少数据,你能用这些数据为我做什么? ” 这就是我们试图建立其他应用程序的原因。
起初我们的收入很少,然后我们意识到它太复杂了,有太多的选项和配置。我们就问自己:"如果必须重做,必须简化,会做什么?"这种思路后的第一个创新是Delta,它重新定义了Spark,以一种真正企业友好的简化方式。但最初我们没有将它开源。
接下来,我们想:“如果拓宽数据库的用途,不仅仅是数据科学家和机器学习工程师,而是真正广泛的用例,应该怎么做? ” 这就是我们开始重视商业分析师的原因。
商业分析师习惯于像Tableau那样的操作软件。如果他们想做一些更复杂的事情,只能使用SQL。因此,我们在四年前开始致力于构建数据仓库能力,把它建立在我们称为Lakehouse的核心基础设施中,然后在前年较大规模的推广。
我们的秘诀是:看企业的问题,弄清楚那是什么,通过实际的客户问题来深入了解它,把问题带回来,解决这个问题,在云中与客户快速迭代。一旦它有了产品的市场适应性,就把它开放出来。建立巨大的开源势头,几乎像一个B2C病毒式的形式。然后,用基于云的SaaS版本将其变现。
这是受AWS的启发,当创立Databricks时,我们认为AWS是地球上最好的云计算开源公司。他们本身不进行开发,其盈利模式基于开源软件,托管它并在上面赚很多钱。我们只是在这一点上进行了调整和演变。我们认为:“这是一个伟大的商业模式。我们将在云上托管开源软件。但不同的是,我们将自己创建开源软件。这样一来,就获得了相对于其他任何想做同样事情的人的竞争优势。 ” 否则,任何人都可以建立任何开源软件并在云中托管它。
Matt Turck: 接下来,让我们从Lakehouse开始,了解一下数据湖和数据仓库的演变,以及Lakehouse是如何在这两个领域中取得最好的成绩。
Ali Ghodsi: 这很简单。人们在数据湖里存储所有的数据:数据集,视频、音频、随机文本,这既迅速又便宜。利用各种各样的数据集,你可以基于数据湖进行AI创新,AI与数据湖密切相关。如果你想做BI,而不是AI,你就使用数据仓库,数据仓库和BI有一个单独的技术堆栈,但是它其实和AI一样,有很多同样的数据集。
BI用于回答过去的问题,比如上个季度的收入是多少;AI用来问关于未来的问题,哪些客户将会回来?所以,这意味着需要两个独立的堆栈,你必须有两个数据副本,而且你必须管理它们,这造成了很多复杂性。但当年的FAANG(硅谷几个顶尖互联网巨头的联合简称)可不是这样做的,他们有一个统一的平台。所以,我们的想法是把这两个统一成一个平台—Lakehouse、人工智能数据湖--提出关于未来的问题。这两者的结合将使企业能够更快地发展。它是数据工程师、数据科学家和商业分析师的平台,这样他们就可以在整个企业内一起工作。所以这是一个用于AI和BI的数据平台。
Matt Turck: 实现这一点靠的是什么重大的技术突破么?是Delta Lake?还是Iceberg?那是如何工作的?
Ali Ghodsi: 是的, 我认为有四个技术突破是在2016、2017年同时发生的,Hudi、Hive ACID、Iceberg、Delta Lake,我们贡献的是Delta Lake。问题是这样的,在数据湖里有人们收集了所有的数据,这些数据非常有价值,但很难对它们进行结构化查询。之前的传统方式是利用SQL数据库,然后应用在BI领域。因此,你需要一个单独的数据仓库。
为什么这么难?因为数据湖是为大数据、大数据集建立的,它并不是为真正的快速查询而建立的。它太慢了,而且没有任何方法来结构化数据,并以表格的形式展现数据,这就是问题所在。那么,你如何把像一个大的数据块存储的东西,变成一个数据仓库?这就是这些项目的秘诀。我们找出了解决这些数据湖效率低下的方法,并使用户能够直接从数据湖的数据仓库中获得相同的价值。
Matt Turck: 这种方法有什么取舍吗?
Ali Ghodsi: 事实上并非如此,我们做到了鱼与熊掌可以兼得。我知道这听起来很疯狂,但试试就是如此。我们减少了很多在80、90年代由数据仓库供应商发明的技术,调整它们,使它们在数据湖上工作。你可以问:“为什么这在10或15年前没有发生? ” 因为开放标准的生态系统并不存在,它是随着时间的推移慢慢出现的。所以,它从数据湖开始,然后有一个很大的实际技术先导突破。我们在这里谈论的,是数据的标准化格式。他们被称为Parquet和ORC,但这些是数据格式,行业要将所有的数据集标准化。
这些类型的标准化步骤是需要的,以获得数据湖的突破。这有点像USB,一旦你有了它,你就可以把任何两个设备相互连接起来。所以,正在发生的事情是,开源领域的一个生态系统正在出现,在那里你可以在数据湖的范式中做所有的分析。最终,你将不需要所有这些自八十年代以来的专有旧系统,包括数据仓库和其他类似系统。
Matt Turck: 我会针对这个再问问题,业界有很多关于Snowflake和Databricks之间即将发生大冲突的议论,作为这个领域的两个巨大的公司,你对未来的看法是,数据湖最终成为范式,然后随着时间的推移,其他一切都被吸收?还是你认为未来更多的是混合,用户可以用数据仓库做某些事情,数据湖做其他事情?
Ali Ghodsi: 我将从两个方面回答这个问题。首先,人们把这说成是零和博弈,但你认为谷歌云会淘汰AWS和微软云,还是AWS会淘汰其他云?没有人这么认为,对吧。他们会共存,都将获得成功。
数据空间是巨大的。将会有很多供应商参与其中。我认为Snowflake将获得成功,他们现在有一个伟大的数据仓库,可能是市场上最好的数据仓库。而它肯定会与Databricks共存。事实上,Databricks与Snowflake共存于可能70%的客户中。我认为这种情况将继续存在,人们将使用数据仓库进行商业智能。
但是,如果长期来看,我认为数据湖的范式将获胜。为什么?因为数据太重要了,人们所有的数据都在这些数据湖中,而且更多的数据正在进入数据湖中。公有云计算供应商也有动力推动更多的动力让人们把数据存到他们的数据湖中,因为这对他们来说是既得利益。因此,任何使其真正有价值的解决方案,都将是未来的趋势。所以,我认为从长远来看,越来越多的人将倾向于这种数据湖的范式。
为什么Databricks能够不断产出创新产品?
Matt Turck: 我想了解你的产品和工程团队是如何组织的?对于一家公司,能够在第一个产品成功的基础上做第二个产品是非常罕见的。但在这里,我们正在谈论,如何成功的做出三个、四个、五个不同的产品。你的公司是如何管理好团队组织结构和其他资源,以不断创新?
Ali Ghodsi: 我们从创立Databricks时,就在试图找到这个问题的答案。我们不想靠一个单一的产品生存。当我们有了Spark,却并没有把它当成公司的名字,因为如果Spark变得落后了,我们就会把它迭代掉,然后继续向前,我们想不断找到数据的最佳答案。那么如何不断的有创新产品出现?我认为非常重要的是,要把创新和现有的现金流业务分开。
有一本关于这个问题的好书,叫Zone To Win。书中谈到,当你创造出一些新东西时,你需要快速迭代。你需要让工程师直接与客户交谈,甚至不一定要让产品经理来做,快速的创新迭代是最要紧的。而在在企业端,你需要一个慢得多的周期来迭代。
另外,所有的工程和产品团队组织被分成两个不同的部分。一部分专注于企业客户需要的东西:加密,安全,认证,稳定性等。另一部分则专注于创新,而且你应该把这些分开,分别的投入资源,否则前者(企业那部分)将得到所有的资源。你会倾向于不断地建立那些扩大你的TAM的东西。TAM扩展实际上是安全能力,它本身并没有任何创新。
我认为,有些公司已经做得很好了,比如AWS,它不是一招鲜,亚马逊本身也不是一招鲜,它不断有新的创新。所以我们希望我们的公司也是这样的,因此取名为Databricks。
Matt Turck: MLflow Delta Lake, Koalas。这属于创新阵营还是商业阵营的子层?
Ali Ghodsi: 这些都是创新阵营。当然,其中一些项目,当他们不那么创新的时候,像Spark,会转移到维护方面,我们通常也会移动核心人员。因此,实际上是同一个人或同一拨人在不断地进行创新。我们试图培养更多的创新者,但我们试图把那种已经真正有诀窍破解从0到1的人转移到下一个问题,然后把现有的项目移交给其他人去运行,比方说Spark,这已经是一个巨大的成功项目。
当我们把已经创造出东西的人转移到别的地方去创造下一个东西,对于一个优秀人才,获得这种责任是一个很大的职业提升。而我们也会发现谁是擅长从0到1人。我们实际上是在做实验,给研发部门的人一个机会去试验从0到1的东西,他们并不总是成功。这需要几次尝试,直到他们成为真正擅长的人。所以你必须慎重考虑这种高失败的策略。
开源的商业模式,有何优越性?
Matt Turck: 如果你今天要再开一家企业软件公司,你会先去开源代码吗?
Ali Ghodsi: 是的,我认为它很优越。我认为如果你从进化的角度来考虑,它在进化上比以前的商业模式要好。为什么我这么说?因为任何专有的软件公司都是成熟的,可以被开源的竞争者破坏。因此,任何专有的东西都可以立即被颠覆,就像Windows被Linux颠覆一样。我的意思是,那是最先进的东西,是真正复杂的技术操作系统,对吗?你不会认为大学里的某个家伙会发明,然后成为工业的标准。任何专有软件都是成熟的,可以进行这样的颠覆。问题是,你能靠它赚钱吗?在红帽和所有这些做支持网络服务的公司之前,这真的很难,直到AWS破解了商业模式的密码。
商业模式是我们为你运行软件,你从我们这里租用它。这是一个优越的商业模式,因为你实际上可以拥有大量的IP,这是很难复制的。所以我认为我创办的下一家公司将是这样的。如果你要问我,我的下一次创业会在哪个领域开始,我会在人工智能方面做什么?我会认为我们现在在人工智能方面的应用还很浅层,尤其是操作性的人工智能。人工智能未来将会被嵌入到各个地方。我知道这很老套。马克·安德森说,软件正在吞噬世界。我们真的相信,人工智能将吞噬所有的软件。你拥有的任何软件,人工智能都会悄悄进入,就像软件悄悄进入你的 汽车 、冰箱和恒温器一样。所以这真的是早期的事情,我认为任何加入或创办人工智能领域公司的人,他们还在早期,他们有机会创办下一个谷歌。所以这就是我想做的。
Matt Turck: 我们谈到了开源,也继续谈进入市场的问题,在这个阶段,作为一个非常晚期的创业公司。开源在进入市场的过程中处于什么位置?你们进入市场的策略是自下而上与自上而下?你们如何分配BDR小组与AE的工作,让他们协作而不是互相拖后腿?
Ali Ghodsi: Databricks是混合模式,我们是自下而上与自上而下在同一时间结合。一开始我们是自下而上,但是也会做自上而下的事情。我们有BDRs和SDRs。这是一个从市场营销开始的筛选器。
Databricks社区版是完全免费的,你想怎么用就怎么用,永远不需要付钱,而且有完整的功能。但是从这里产生的线索会导入到SDR。因此,这也是一个非常重要的管道。我们一半的线索来自于此,这就是为什么开源对我们是一个重要的引擎。
现在,我们也有传统的企业销售动作,比如给CIO递名片,一对一的交流,但发生的情况是,开发人员在这些组织中也变得越来越强大。例如,CIO说,我与Databricks的CEO进行了一次很好的谈话,我正在 探索 这项技术,但我担心,这对我们来说是正确的选择吗?那家公司的听众中会有人说,是的,我使用社区版。我们不需要做6个月的POC。我认识这些人,他们真的非常好,或者我认识他们,他们来自伯克利。我已经使用了这些技术。我去参加了一些聚会等。
因此,这有助于证实用例,你可以消除整个POC,因为他们已经知道它是什么,而不是像10-20年前那样,一个销售人员进来,解释这个软件有多棒,但你不能相信他们。因此你就必须去做POC,然后去花时间检验这个软件是不是真的有用。我们不必这样做,我们可以穿过所有这些层次。因此,我们把自上而下和自下而上结合起来,而这两方面对于Databricks的成功都是非常必要的。
从创业公司到超级独角兽,
领导者的修炼之路
Matt Turck: 你已经把一家小型创业公司带成了超级独角兽,很快还会上市。你是如何让自己完成角色转变的,从一个讲愿景,讲故事的人,变成管理一个全球组织?
Ali Ghodsi: 其实就是如何找到你可以信任的具有领导力的帮手,并和他们建立更深的信任。我可以把我大部分时间都花在这上面,而公司能够继续正常运行。我有运行良好的销售团队,市场营销团队,工程团队,我却不需要自己直接参与其中,因为我找到了适合领导这些部门的领导者,并且花了很多时间与他们建立起信任。
这是你在早期就要开始准备的事情,早期时,你的组织规模小,你可以参与到每个环节,如臂使指。但是当团队规模扩展到150-200人直到超过邓巴数。你会感觉自己完全被淹没了。因此你必须找到可以信任的正确的领导人,而且要找到自己与组织沟通的方法,因为现在不是直接沟通,而是通过领导层间接沟通,所以帮助你与团队组织沟通的人就特别重要。
Matt Turck: 你如何找到他们?你是偏向在内部提拔人才,还是从外部引入已经获得成功的高管,哪一个效果更好?你是如何处理的?
Ali Ghodsi: 要找到与公司文化相适应的、你能与之建立强大信任的高管是非常困难的,我认为不应该排除任何选项。如果能够从内部提拔人,那很好,但是如果只是内部晋升,你就不能获得市场上已经存在的成功经验,这种经验可能是超级有价值的。
如果我们寻找外部的高管,他必须经历过我们现在所处的阶段,有实战的经验。不是说他必须从零开始创建一个估值几百亿的公司,而是建立和操作过这种阶段公司的工程等相应部门,他是否在这个过程中有第一性思考,有自己的沉淀。我认为能力和智商还是非常重要的。
文化看起来是个很复杂的东西,但是对与我,会把它分解成一连串问题:我可以和这个人相处吗?愿意每天花10个小时和他在一起工作么?当事情变得非常棘手和困难的时候,我们能一起去解决问题么?所以你要做的就是花大量时间与这个人相处,然后问自己是否喜欢他们,就像婚姻一样。你可以问他们一些困难的问题,与他们争论或者听取他们的意见,直到确定这就是正确的人。如果你感觉到自己无法和某个人一起好好工作,那他就可能是文化不匹配。
本文编译整理自Matt Turck个人博客,略有删节。
关于阿尔法公社
阿尔法公社(Alpha Startup Fund)是中国领先的早期投资基金,由曾带领公司在纳斯达克上市的许四清和前创新工场联合管理合伙人蒋亚萌在2015年共同创立。
阿尔法公社基金的三大特点是系统化投资、社交化创业者社区运营和重度产业资源加速成长。专注在半导体、企业服务软件、人工智能应用、物联网技术、金融 科技 等 科技 创新领域进行早期投资。目前已经在天使轮投资了包括白山云 科技 、领创集团(Advance Intelligence Group)、Zenlayer、帷幄 科技 、所思 科技 等为数众多的优秀项目。
③ 数据库分割如何进行操作
找个没人用的时间操作:用SQL操作这张表,通过id筛选并复制记录到新库新表。例如10W条 10W条 的复制。
我们当时是这样操作的,我们记录是百万级。
④ 该选择哪个开源数据库哪一个更好
如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。MySQL与PostgreSQL都是免费、开源、强大、且功能丰富的数据库。你主要的问题可能是:哪一个才是最好的开源数据库,MySQL还是PostgreSQL呢?该选择哪一个开源数据库呢?
在选择数据库时,你所做的是个长期的决策,因为后面如果再改变决定将是非常困难且代价高昂的。你希望一开始就选择正确。两个流行的开源数据库MySQL与PostgreSQL常常成为最后要选择的产品。对这两个开源数据库的高层次概览将会有助于你选择最适合自己需要的。
MySQL
MySQL相对来说比较年轻,首度出现在1994年。它声称自己是最流行的开源数据库。MySQL就是LAMP(用于Web开发的软件包,包括Linux、Apache及Perl/PHP/Python)中的M。构建在LAMP栈之上的大多数应用都会使用MySQL,包括那些知名的应用,如WordPress、Drupal、Zend及phpBB等。
一开始,MySQL的设计目标是成为一个快速的Web服务器后端,使用快速的索引序列访问方法(ISAM),不支持ACID。经过早期快速的发展之后,MySQL开始支持更多的存储引擎,并通过InnoDB引擎实现了ACID。MySQL还支持其他存储引擎,提供了临时表的功能(使用MEMORY存储引擎),通过MyISAM引擎实现了高速读的数据库,此外还有其他的核心存储引擎与第三方引擎。
MySQL的文档非常丰富,有很多质量不错的免费参考手册、图书与在线文档,还有来自于Oracle和第三方厂商的培训与支持。
MySQL近几年经历了所有权的变更和一些颇具戏剧性的事件。它最初是由MySQL AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle支持MySQL的多个版本:Standard、Enterprise、Classic、Cluster、Embedded与Community。其中有一些是免费下载的,另外一些则是收费的。其核心代码基于GPL许可,对于那些不想使用GPL许可的开发者与厂商来说还有商业许可可供使用。
现在,基于最初的MySQL代码还有更多的数据库可供选择,因为几个核心的MySQL开发者已经发布了MySQL分支。最初的MySQL创建者之一Michael "Monty" Widenius貌似后悔将MySQL卖给了Sun公司,于是又开发了他自己的MySQL分支MariaDB,它是免费的,基于GPL许可。知名的MySQL开发者Brian Aker所创建的分支Drizzle对其进行了大量的改写,特别针对多CPU、云、网络应用与高并发进行了优化。
PostgreSQL
PostgreSQL标榜自己是世界上最先进的开源数据库。PostgreSQL的一些粉丝说它能与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。它拥有很长的历史,最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。
PostgreSQL是完全由社区驱动的开源项目,由全世界超过1000名贡献者所维护。它提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。
可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL的社区支持是非常棒的,还有来自于独立厂商的商业支持。
数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性的,它对于数据库访问提供了强大的安全性保证,充分利用了企业安全工具,如Kerberos与OpenSSL等。你可以定义自己的检查,根据自己的业务规则确保数据质量。在众多的管理特性中,point-in-time recovery(PITR)是非常棒的特性,这是个灵活的高可用特性,提供了诸如针对失败恢复创建热备份以及快照与恢复的能力。但这并不是PostgreSQL的全部,项目还提供了几个方法来管理PostgreSQL以实现高可用、负载均衡与复制等,这样你就可以使用适合自己特定需求的功能了。
⑤ 数据库的发展简史
数据库技术是本世纪60年代开始兴起的一门信息管理自动化的新兴学科,是计算机科学中的一个重要分支。随着计算机应用的不断发展,在计算机应用领域中,数据处理越来越占主导
地位,数据库技术的应用也越来越广泛。
数据库是数据管理的产物。数据管理是数据库的核心任务,内容包括对数据的分类、组织、编码、储存、检索和维护。随着计算机硬件和软件的发展,数据库技术也不断地发展。从数据管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。
A.人工管理阶段
人工管理阶段是指计算机诞生的初期(即20世纪50年代后期之前),这个时期的计算机主要用于科学计算。从硬件看,没有磁盘等直接存取的存储设备;从软件看,没有操作系统和管理数据的软件,数据处理方式是批处理。
这个时期数据管理的特点是:
1. 数据不保存
该时期的计算机主要应用于科学计算,一般不需要将数据长期保存,只是在计算某一课题 时将数据输入,用完后不保存原始数据,也不保存计算结果。
2. 没有对数据进行管理的软件系统
程序员不仅要规定数据的逻辑结构,而且还要在程序中设计物理结构,包括存储结构、存取方法、输入输出方式等。因此程序中存取数据的子程序随着存储的改变而改变,数据与程序不具有一致性。
3. 没有文件的概念
数据的组织方式必须由程序员自行设计。
4. 一组数据对应于一个程序,数据是面向应用的
即使两个程序用到相同的数据,也必须各自定义、各自组织,数据无法共享、无法相互利用和互相参照,从而导致程序和程序之间有大量重复的数据。
B.文件系统阶段
文件系统阶段是指计算机不仅用于科学计算,而且还大量用于管理数据的阶段(从50年代后期到60年代中期)。在硬件方面,外存储器有了磁盘、磁鼓等直接存取的存储设备。在软件方面,操作系统中已经有了专门用于管理数据的软件,称为文件系统。
这个时期数据管理的特点是:
1. 数据需要长期保存在外存上供反复使用
由于计算机大量用于数据处理,经常对文件进行查询、修改、插入和删除等操作,所以数据需要长期保留,以便于反复操作。
2. 程序之间有了一定的独立性
操作系统提供了文件管理功能和访问文件的存取方法,程序和数据之间有了数据存取的接口,程序可以通过文件名和数据打交道,不必再寻找数据的物理存放位置,至此,数据有了物理结构和逻辑结构的区别,但此时程序和数据之间的独立性尚还不充分。
3. 文件的形式已经多样化
由于已经有了直接存取的存储设备,文件也就不再局限于顺序文件,还有了索引文件、链表文件等,因而,对文件的访问可以是顺序访问,也可以是直接访问。
4. 数据的存取基本上以记录为单位