手机版

百科生活 投稿

teradata是什么数据库,teradata(非关系型数据库mongo操作入门)

百科 2026-02-19 23:52:14 投稿 阅读:8298次

关于【teradata是什么数据库】:teradata(teradata是什么数据库),今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

  • 内容导航:
  • 1、工具 | 非关系型数据库mongo操作入门
  • 2、teradata(teradata是什么数据库)
  • 3、teradata与SQL server有什么区别
  • 4、teradata和greenplum是什么
  • 5、teradata如何查看一个表的主键
  • 6、teradata与华为Gauss的差异

1、工具 | 非关系型数据库mongo操作入门

摘要:

1. 传统关系型数据库的痛点

2. NoSQL的优势

3. MongoDB的优势

4. MongoDB的基本操作:命令行与pymongo

teradata是什么数据库,teradata(非关系型数据库mongo操作入门)

mongo 数据库是什么

说到mongoDB就不得不提到传统的关系型数据库。

传统关系型数据库

在现代的计算系统上每天网络上都会产生庞大的数据量,这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。

关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织[1]。

当前关系模型是结构化数据存储在网络和商务应用的主导技术。当今十大主流的关系型数据库Oracle,Microsoft SQL Server,MySQL,DB2,Microsoft Access, SQLite,Teradata(MySQL的一个分支),SAP。

常见的使用方式是:

select * from database;

但是,随着大数据时代的到来,关系型数据库逐渐体现出一些不能满足实际业务需求的问题。那么关系型数据的缺点是什么呢?

存在的问题

我们设想一个场景,如果我们在业务初期,设计的数据库包含7个字段,用着感觉也不错,但是现在做大做强了,忽然需要增加一个业务,比方说现在新来了一种通信方式叫做“巨信”,我们要存储一下客户的相关号码。这时怎么做呢?一个是在原表格上增加一列,另一种方式是新建一个表格,然后join到原来的表格上。貌似可行。

这时候需求又来了,如果公司又做大做强了,还需要其他的信息呢?在拥有海量的数据需要存储,岂不是要做无数表格,无数的JOIN操作?此外,海量数据带来的还有很多其他的问题,如下所列:

关系型数据库存在的问题[2]

1.网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

2.网站每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的

3.在基于web的结构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像web server和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。当需要对数据库系统进行升级和扩展时,往往需要停机维护和数据迁移。

4.性能欠佳:在关系型数据库中,导致性能欠佳的最主要原因是多表的关联查询,以及复杂的数据分析类型的复杂SQL报表查询。为了保证数据库的ACID特性,必须尽量按照其要求的范式进行设计,关系型数据库中的表都是存储一个格式化的数据结构。

正所谓成也萧何,败也萧何。笔者认为关系型数据库的瓶颈也在于其结构化的表示方法。那么有没有方法能够不用这种“表格”式的方法来构建数据库呢?答案就是:非关系型数据库

NoSQL数据库

NoSQL(NoSQL = Not>

  • 面向key-value
  • 具有代表性的是Redis。redis比较明显的一个特点,支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset (sorted set:有序集合)。

    1. 面向文档(document)

    具有代表性的是MongoDB。此类数据库的主要特点是在海量的数据中可以快速的查询数据。文档存储通常使用内部表示法,可以直接在应用程序中处理,主要是JSON。没错,用JSON存储,一个JSON就是一个document。

    像这样:

    teradata是什么数据库,teradata(非关系型数据库mongo操作入门)

    teradata是什么数据库,teradata(非关系型数据库mongo操作入门)

    其实从上述结构中就很容易想到,很容易扩展,因为扩展只需要再JSON数据汇总增加一个“key”就可以,而不需要保持每个document需要有同样的字段,不是吗?

    RDBMS vs NoSQL[3]

    RDBMS

    • 高度组织化结构化数据
    • 结构化查询语言(SQL)
    • 数据和关系都存储在单独的表中。
    • 数据操纵语言,数据定义语言
    • 严格的一致性

    NoSQL

    • 代表着不仅仅是SQL
    • 没有声明性查询语言
    • 没有预定义的模式 -键 - 值对存储,列存储,文档存储,图形数据库
    • 非结构化和不可预知的数据
    • 高性能,高可用性和可伸缩性

    小结

    1. 非结构化数据库是在传统关系型数据库在大数据时代背景下产生的,用以满足非结构化查询的需求。相比传统关系型数据库既有缺点也有优点。优点是可扩展性强,缺点是没有结构化的数据,性能上有一定的影响
    2. mongodb就是NoSQL的一种,使用JSON存储数据。

    为什么使用mongo数据库

    MongoDB的一些基本概念

    因为传统关系型数据库已经使用了很多年了,相关的概念已经深入人心,因此有必要对相关的概念与非结构化数据MongoDB进行对比。为了更好的理解MongoDB,这里给出一个与传统关系型数据库的术语对比:

    SQL术语/概念

    MongoDB术语/概念

    解释/说明

    database

    database

    数据库

    table

    collection

    数据库表/集合

    row

    document

    数据记录行/文档

    column

    field

    数据字段/域

    index

    index

    索引

    table joins

    表连接,MongoDB不支持

    primary key

    primary key

    主键,MongoDB自动将_id字段设置为主键

    MongoDB的优点/缺点

    优点:

    • 高可扩展性(可随意扩展字段)
    • 分布式计算
    • 低成本
    • 架构的灵活性,半结构化数据(JSON)
    • 没有复杂的关系(不需要复杂的JOIN操作)

    缺点:

    • 没有标准化
    • 有限的查询功能(到目前为止)

    mongo数据库怎么使用

    MongoDB安装

    不同操作系统的可以参考如下链接进行安装:

    Windows:https://www.runoob.com/mongodb/mongodb-window-install.html

    macOS:https://www.runoob.com/mongodb/mongodb-osx-install.html

    Linux:https://www.runoob.com/mongodb/mongodb-linux-install.html

    命令行

    # 连接数据库./mongo# 显示数据库show dbs# 显示数据库表格show tables# 设置当前数据库(注意不是表格)use XXdb# 查找所有项db.XXdb.find()# 查找具体某一项db.XXdb.find()

    eg:

    > db.runoob.find(){ "_id" : ObjectId("6131bbc5c3e97444f4b027c4"), "x" : 10 }{ "_id" : ObjectId("6131bc35c3e97444f4b027c5"), "x" : 12 }{ "_id" : ObjectId("6131bc3ec3e97444f4b027c6"), "x" : 144 }> db.runoob.find({x:10}){ "_id" : ObjectId("6131bbc5c3e97444f4b027c4"), "x" : 10 }

    创建数据库

    在insert的时候,如果原来数据库不存在,那么就直接创建一个数据库。

    # 插入语句> db.runoob.insert({x:10})WriteResult({ "nInserted" : 1 })> db.runoob.find({x:10}){ "_id" : ObjectId("6131bbc5c3e97444f4b027c4"), "x" : 10 }

    如上所示,如果runoob不存在,那么上述语句就会

    1.创建一个名为runoob的数据库;

    2.插入一条数据{x:10}

    增删查改

    db.runoob.insert()#eg:# 插入语句,同时创建数据库> db.runoob.insert({x:10})WriteResult({ "nInserted" : 1 })> db.runoob.find({x:10}){ "_id" : ObjectId("6131bbc5c3e97444f4b027c4"), "x" : 10 }

    db.runoob.remove()# eg:> db.runoob.remove({x:10})WriteResult({ "nRemoved" : 1 })

    db.runoob.find()#eg:> db.runoob.find(){ "_id" : ObjectId("6131bbc5c3e97444f4b027c4"), "x" : 10 }{ "_id" : ObjectId("6131bc35c3e97444f4b027c5"), "x" : 12 }{ "_id" : ObjectId("6131bc3ec3e97444f4b027c6"), "x" : 144 }

    db.collection.update( , , { upsert: , multi: , writeConcern: })#eg:> db.runoob.find(){ "_id" : ObjectId("6131bc35c3e97444f4b027c5"), "x" : 12 }{ "_id" : ObjectId("6131bc3ec3e97444f4b027c6"), "x" : 144 }> db.runoob.update({x:12},{y:20})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.runoob.find(){ "_id" : ObjectId("6131bc35c3e97444f4b027c5"), "y" : 20 }{ "_id" : ObjectId("6131bc3ec3e97444f4b027c6"), "x" : 144 }

    可扩展性示例

    > db.runoob.find(){ "_id" : ObjectId("6131bc35c3e97444f4b027c5"), "y" : 20 }{ "_id" : ObjectId("6131bc3ec3e97444f4b027c6"), "x" : 144 }{ "_id" : ObjectId("6131bf67fd8e703e23f71a67"), "z" : "mongodb" }{ "_id" : ObjectId("6131bf9bfd8e703e23f71a68"), "xxx" : 10010 }# 插入了一个非结构化的数据> db.runoob.update({xxx:10010}, {$set:{z:"mongodb"}}, upsert=true)WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.runoob.find(){ "_id" : ObjectId("6131bc35c3e97444f4b027c5"), "y" : 20 }{ "_id" : ObjectId("6131bc3ec3e97444f4b027c6"), "x" : 144 }{ "_id" : ObjectId("6131bf67fd8e703e23f71a67"), "z" : "mongodb" }{ "_id" : ObjectId("6131bf9bfd8e703e23f71a68"), "xxx" : 10010, "z" : "mongodb" }

    小结

    1. mongo的数据库的增删查改与传统的数据库的思想一样,但是在具体的操作上,再不是使用select, update, delete等类似的操作,而是使用类似于编程语言(如果熟悉JavaScript的话,就可以立马看出来)
    2. mongodb可以插入非结构化的数据,相比传统关系型数据库扩展性更强

    Python

    Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。

    import pymongomyclient = pymongo.MongoClient("mongodb://localhost:27017/")mydb = myclient["runoobdb"]# 列出数据库列表dblist = myclient.list_database_names()if "runoobdb" in dblist: print("数据库已存在!")# 插入数据mydict = { "name": "RUNOOB", "alexa": "10000", "url": "https://www.runoob.com" } x = mycol.insert_one(mydict) # 查询数据x = mycol.find_one()# 查询所有数据for x in mycol.find(): print(x)# 修改多个数据myquery = { "name": { "$regex": "^F" } }newvalues = { "$set": { "alexa": "123" } } #使用操作符$set x = mycol.update_many(myquery, newvalues)

    更多内容可以参考:https://www.runoob.com/python3/python-mongodb.html

    mongodb进阶

    mongo 操作符汇总:https://blog.csdn.net/sinat_29091823/article/details/75050950

    find and modify :https://kb.objectrocket.com/mongo-db/mongodb-find-and-modify-1196

    工具推荐

    Navicat Premium 15(Windows)

    这款工具是数据库方面比较好的工具,免去一切繁杂的命令行操作,直观的感受数据库。

    支持的数据库包括:

    teradata是什么数据库,teradata(非关系型数据库mongo操作入门)

    编辑

    添加图片注释,不超过 140 字(可选)

    白嫖,可以参考这篇文章:https://www.jianshu.com/p/4113cd5ef139

    参考资料

    1. https://baike.baidu.com/item/关系型数据库/8999831 ↑
    2. https://www.jianshu.com/p/fd7b422d5f93 ↑
    3. https://www.runoob.com/mongodb/nosql.html ↑

    2、teradata(teradata是什么数据库)

    teradata数据仓库和oracle数据库有什么异同之处?

      oracle数据仓库本质上是依赖于关系型数据库来实现了OLAP的,所以ORACLE数据仓库中在建模中会使用星型模型来实现 teradata的话,其实是依赖于teradata的硬件设备来实现,所以它的数据仓库在设计上就不需要设计成星型模型的 设计成。

    3、teradata与SQL server有什么区别

      一、指代不同 1、teradata:Teradata数据仓库拥有全球领先的技术,其主要软件和硬件产品包括:Teradata数据库、Teradata数据仓库软件、企业数据仓库、动态企业数据仓库、数据仓库专用平台。
      2、SQL server:是由Microsoft开发和推广的。

    4、teradata和greenplum是什么

      都是数据仓库,处理大数据的两家公司的产品,同时teradata也是公司名称

    5、teradata如何查看一个表的主键

      有几种方法可以在Teradata中获取PK / FK信息,但如果没有为表定义PK / FK,则所有信息都可能失败。
      并且很有可能(特别是对于FK)他们没有在数据仓库中定义。
      在这种情况下,您需要在数据模型上获得一些外部文档。
       dbc。.

    6、teradata与华为Gauss的差异

      同属华为高斯数据库。
      Teradata可连接到通道连接的系统,如主机或网络连接的系统。
      AI原生数据库是Gauss的主要特点之一。
      华为将AI引擎内置到GaussDB全系产品中,使其具备一定的自运维、自管理、自调优、故障自诊断和自愈的能力。
      。

    本文关键词:teradata是什么意思,teradata数据类型,teradata,teradata数据库和oracle对比,teradata是什么数据库。这就是关于《teradata是什么数据库,teradata(非关系型数据库mongo操作入门)》的所有内容,希望对您能有所帮助!

    本文链接:https://bk.89qw.com/a-390376

    最近发表
    网站分类