行业动态

了解最新公司动态及行业资讯

当前位置:首页>新闻中心>行业动态
全部 4048 公司动态 912 行业动态 3136

创建数据库有什么需要注意的根据自己实际的应用告知

时间:2022-12-09   访问量:1837

本文创建数据库需要注意什么?

根据你的实际应用说几点:

自动功能:自动拆分数据和平衡数据分配。这个非常重要。选择合理的分片是否可以让数据存储更均衡。

数据库多集群的配置可以根据自己的业务场景进行。

是数据库建模的问题服务器运维,从根本上理解和mysql的区别。关系数据库和文档数据库。

文档数据库里有很多东西。例如,如果表中的存储层次太深,查找或查找时结构可能会非常复杂。

使用数据库索引,高效的查询比什么都重要。

如何连接到数据库

是10gen团队开发的基于分布式存储的开源数据库系统,用C++编写。作为文档数据库,数据以键值对的形式存储。

下面我们来看一下基本用法。

1.连接数据库

使用以下命令连接数据库

蒙戈

连接到数据库

2.查看当前使用的数据库。

在 中,如果要查看使用的是哪个数据库,可以使用如下命令查看。

D b

检查使用的数据库

3. 检查哪些数据库可用。

里面有很多数据库,对于哪些数据库,可以使用如下命令查看。

显示数据库

查看所有数据库

4. 创建数据库。

如果现阶段已有的数据库不能满足要求,可以使用如下命令创建新的数据库。

利用

其中,它表示要创建的数据库的名称。下面将演示创建名为offcn 的数据库。

使用 offcn

创建offcn数据库

5.删除数据库

当数据库没有作用时,可以删除数据库以释放占用的空间资源。使用以下命令删除数据库,删除前需要选择要删除的数据库。

使用 offcn

D b。()

删除数据库

使用数据库有什么好处

以下是唐锦总结的优缺点列表。希望对打算使用的同学有所帮助:

优势:

快速地!(当然这和具体的应用方式有关,一般来说比一般的关系型数据库快5位数左右。)

高扩展性——可以轻松实现 PB 级存储(但也许我们不需要 PB 级存储,10TB 可能就足够了)

他有一个漂亮的图案(套)

拥有非常完备的Java API

他的存储格式是Json,对于Java来说非常好办,反之亦然。

运维非常方便,不需要专门安排管理员。

它有一个非常活跃的社区(我提出的错误在 20 分钟内得到修复。谢谢)

他的版本控制非常清晰。

它背后的公司 (10gen) 准备明天花钱买它。

坏处

缺乏应用经验,我们都没有相关NoSQL产品的使用经验。

该项目相对较新。

与以前的存储相比,数据的关联操作不复存在。

什么数据库适合

不支持事务是众所周知的,所以需要强事务的业务根本不能考虑。

优点是文档存储:

1、业务变化频繁,需要时不时增加字段,比较适合。关系型数据库加字段的复杂度也不错

2.嵌套文档,业务数据比较复杂,适合嵌套文档存储,所以很适合,这个关系型数据库比较难搞,虽然mysql和pg也有文档存储,但是mysql不成熟,毕竟pg现在生产中用到的还比较少,个人也不是很了解,这里就不多说了。但这并不是唯一的优势,下面将详细介绍。

3.支持,查询速度不慢

4.高可用副本集支持

5.查询语法很丰富,嵌套文档查询功能很强大,非重度用户可能看不懂

让我们谈谈一个具体的用例:

项目中一条数据大概10kb。如果使用关系型数据库,则需要将这条数据拆分成大概几百条,建多张表。设计比较复杂。这种数据大约是一百万条。想想看,拆分之后,十亿多的数据量是多么可怕。平局后的数据在任何DB都可以拿下,但从百万变到十亿以上就更可怕了。

如果使用MySQL存储,每次查询需要使用外键查询多张表,从这些表中拉取数据性能肯定会下降很多,不如只在一张表中查询,只拉取少了两个数量级的数据。查询也还可以,业务允许把结果缓存起来放在redis中。

但重要的一点来了。需要增量更新一些数据。这时候需要更新多张表,根本无法实现原子性(注意事务不是原子操作)。当然可以通过cas等技术进行补偿,达到最终一致性。但是只需要一条数据就可以使用存储,对应嵌套文档中的内容更新可以是原子的,是不是很方便?

推荐学习《教程》

下面我详细说一下这个项目的难点。你可能会奇怪查询不能使用缓存,但是业务决策真的不行,增量更新量达到几万QPS。如果不能保证原子性,想想那有多可怕!

所以这里帮了大忙,关系型数据库解决不了这个问题。

可能有人会问,没有事务,上游数据写入会有问题吗?你不可能把所有的数据都存到一张表里吧?

当然不是,我们数据库中的数据是从MySQL中清洗出来存储到数据库中的,只是为了单点业务需要,综合数据还是在MySQL中。

我们在这个项目中使用了数百个副本集来保证系统的高可用。这些副本集的配置只需要一个shell。如果不知道如何配置MySQL的主从(我自己也不知道),估计DBA会忙不过来。而且这个项目根本不需要也不需要用到DBA。

说了这么多mongo的优点,也说说他的缺点:

1.查询优化器是MySQL无法比拟的

2.不支持,只能冷启动,初始化配置麻烦

3、没有事务不敢存第一手资料,多用于备份资料

可以做很多事情,看你的想象,性能还不错,存储一些相对不重要的数据,嵌套文档功能强大。多看官方文档,挖掘有用的信息,每次都能发现惊喜。

如何创建数据库表

建表步骤,常用Mongo数据库操作命令,查询,增删改查,性能监控。

使用管理员(切换到创建用户)

db.(创建数据库)

db.("", "Pwd") 创建用户

db.auth("", "Pwd") 设置用户为允许连接的用户

db.("") 创建表

检查表是否创建成功

db..Save({age:1}) 添加数据

db..find() 查看添加数据是否成功(如果没有找到结果,则表示添加失败)

建议学习《教程》。

什么类型的数据库

它是一个基于分布式文件存储的数据库。用C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

它是介于关系数据库和非关系数据库之间的产物。它是非关系数据库中功能最强大的,最类似于关系数据库。它支持的数据结构非常松散,是一种类似于json的bson格式,因此可以存储更复杂的数据类型。Mongo最大的特点就是它支持的查询语言非常强大。它的语法有点类似于面向对象的查询语言。几乎可以实现大部分类似关系型数据库单表查询的功能,还支持对数据建立索引。

使用数据库有什么好处

以下是唐锦总结的优缺点列表。希望对打算使用的同学有所帮助:

优势:

快速地!(当然这和具体的应用方式有关,一般来说比一般的关系型数据库快5位数左右。)

高扩展性——可以轻松实现 PB 级存储(但也许我们不需要 PB 级存储,10TB 可能就足够了)

他有一个漂亮的图案(套)

拥有非常完备的Java API

他的存储格式是Json,对于Java来说非常好办,反之亦然。

运维非常方便,不需要专门安排管理员。

它有一个非常活跃的社区(我提出的错误在 20 分钟内得到修复。谢谢)

他的版本控制非常清晰。

它背后的公司 (10gen) 准备明天花钱买它。

坏处

缺乏应用经验,我们都没有相关NoSQL产品的使用经验。

该项目相对较新。

与以前的存储相比,数据的关联操作不复存在。

数据库有什么优势

1.文件存储

数据存储为 BSON/JSON 文档,这对于 Web 应用程序具有重要意义。开发者API喜欢以JSON的形式传输,使得整个项目的数据表示采用统一的模型。所有这一切都无需任何前期架构设计。

2.可扩展性

在一些大型环境中使用,/正在使用它。通过分片数据进行缩放处理,理论上可以获得更高的吞吐量。

3.简单复制

与分片一样,范围范围的复制易于使用,并且在副本机器上有很多复制选项。灵活的特性可满足用户应用的需求。

4.查询方便

以文档形式存储数据,不支持事务和表连接。因此查询更容易编写、理解和优化。简单查询的设计思想不同于SQL模式。嵌入的文档在特定的环境下可以更好的查询服务器运维,但是这个需要先加入到集合中。如果您需要对数据库执行多个请求,则需要将其加入客户端。这时候,ODM工具(如)就会发挥自己的优势。

5. 安全

由于客户端生成的查询是一个BSON对象而不是一个可以解析的字符串,因此可以降低被SQL注入攻击的风险。最常见的攻击类型是针对 Web 应用程序的攻击,可以通过在 Web 上使用 ODM 查询语言来缓解这种攻击。

6.支持

用户在选择数据库时总是喜欢积极和动态的东西,这一点非常重要。在行业内影响力很大,用户也定期组织活动。该标签在 . 您永远不会陷入困境,因为总有人可以与之讨论和解决问题。

七、价格

免费!

当然,优点远不止这些,缺点也不少。

使用场景是什么

使用场景:

(1) 网站数据:适用于实时插入、更新和查询,具有网站实时数据存储所需的可复制性和高扩展性。

(2)缓存:由于其高性能,也适合作为信息基础设施的缓存层。系统重启后,系统构建的持久化缓存层可以防止底层数据源过载。

(3) 大尺寸、低价值的数据。

(4) 高扩展性场景:适用于由几十台或上百台服务器组成的数据库。

(5) 对象和JSON数据的存储:BSON数据格式适合以文档化的格式存储和查询。

设计特点:

(1) 面向集合存储,易于存储对象类型的数据。数据分组存储在集合中,类似于RDBMS中的表,集合中可以存储无限数量的文档。

(2) Mode free,采用无模式结构存储。集合中存储的数据是无模式文档,使用无模式存储数据是RDBMS中集合区别于表的重要特征。

(3) 支持全索引,索引可以建立在任何属性上,包括内部对象。RDBMS的索引与RDBMS的索引基本相同。可以对指定的属性和内部对象创建索引,以提高查询速度。除此之外,还提供了创建基于地理空间的索引的能力。

(4) 支持查询。支持丰富的查询操作,几乎支持大部分SQL查询。

(5) 强大的聚合工具。除了提供丰富的查询功能外,还提供强大的聚合工具,如count、group等,支持复杂的聚合任务。

上一篇:如何解释你作为CIO的角色的?|蓝盟IT小贴士

下一篇:金蝶软件用什么电脑会计专业对电脑配置电脑要求不算高?

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部