Te lleva a entender NoSQL


Descripción general de NOsql

La base de datos NoSQL (no solo SQL ), NoSQL, generalmente se refiere a bases de datos no relacionales.

Uno: ¿Por qué usar Nosql? ?

1. La era de MySQL independiente

marca

En la década de 1990, un sitio web básico generalmente no se visitaba demasiado y una sola base de datos era completamente suficiente.

En ese momento, era más usar páginas web estáticas html ~ el servidor no tenía mucha presión en absoluto

Piénselo, en este caso: ¿Cuál es el cuello de botella de todo el sitio web?

1、数据量如果太大,一个机器放不了!

2、数据的索引 单表超过300万就一定要建立索引

(B+ Tree),一个机器内存也放不下

3、访问量(读写混合),一个服务器承受不了~

Siempre que empieces a experimentar una de las tres situaciones anteriores, ¡debes avanzar!

2. Memcache (caché) + MySQL + división vertical (separación de lectura y escritura)

El 80% del sitio web está leyendo, ¡y es muy problemático consultar la base de datos cada vez! ¡Así que esperamos usar el almacenamiento en caché para garantizar la eficiencia!

Proceso de desarrollo: Optimice la estructura y el índice de datos - "Caché de archivos (IO) -" Memcache (la tecnología más avanzada en ese momento)

marca

3. Subtabla de sub-base de datos + división horizontal + clúster MySQL

Con el desarrollo de la tecnología y los negocios, los requisitos para las personas son cada vez más altos.

Esencia: base de datos (lectura, escritura)

MyISAM en los primeros años: table locks. ¡Afecta enormemente la eficiencia! Se producirán graves problemas de bloqueo con alta concurrencia

Cambiar a lnnodb: bloqueo de fila

¡Comience a usar lentamente la subbase de datos y la subtabla para resolver la presión de la escritura! ¿Cuándo introdujo MySQL la partición de tablas? ¡No muchas empresas usan esto!

¡El clúster MySQL satisface bien todas las necesidades de esa época!

marca

4. La era reciente de hoy

Durante los diez años comprendidos entre 2010 y 2020, el mundo ha experimentado cambios trascendentales; (¡el estado también es una especie de datos, música, lista de favoritos, etc.!)

¡Las bases de datos relacionales como MySQL no son suficientes! Hay muchos datos y cambian rápidamente ~!

Algunas personas usan MySQL para almacenar algunos archivos, blogs e imágenes relativamente grandes. La tabla de la base de datos es muy grande, ¡la eficiencia es baja! Si hay un tipo especial de base de datos

, La presión de MySQL se vuelve muy pequeña (¡estudie cómo lidiar con estos problemas!) ¡Bajo la presión de IO de los grandes datos, la tabla casi no es más grande que si!

5. ¡Un proyecto básico de Internet en la actualidad!

marca

6. ¿Por qué utilizar NoSQL?

Información personal del usuario, red social, ubicación geográfica. ¡Los datos generados por los propios usuarios, registros de usuarios, etc. se han disparado!

En este momento, necesitamos usar la base de datos NoSQL, ¡MolSQL puede manejar muy bien la situación anterior!

Dos: ¿Qué es NoSQL?

NoSQL = Not Only SQL (不仅仅是SQL)

Base de datos relacional: tablas, filas, columnas

Se refiere a la cantidad de bases de datos no relacionales, ¡con el nacimiento de la web2.0 Internet! ¡Las bases de datos relacionales tradicionales son difíciles de manejar en la era web2.0! ¡Especialmente comunidades de alta concurrencia a gran escala! Se exponen muchos problemas insuperables. NoSQL se está desarrollando muy rápidamente en el entorno de big data actual. ¡Redis es la tecnología de más rápido crecimiento y que debe dominarse ahora!

Muchos tipos de datos incluyen información personal, redes sociales y ubicaciones de direcciones de los usuarios. ¡El almacenamiento de estos tipos de datos no requiere un formato fijo! ¡Puede escalar horizontalmente sin requerir meses de funcionamiento! Map <Sting, Objet> usa pares clave-valor para controlar.

2.1: Funciones NoSQL

1. Fácil de expandir (no hay relación entre los datos, ¡es fácil de expandir!)

2. Gran cantidad de datos y alto rendimiento (Redis puede escribir 80.000 veces y leer 110.000 por segundo. Los registros de la caché NoSQL son una caché de grano fino y el rendimiento será relativamente alto).

3. ¡Los tipos de datos son diversos! (¡No es necesario implementar una base de datos de diseño! ¡Úselo sobre la marcha! Si es una tabla con una gran cantidad de datos, ¡muchas personas no pueden diseñarla!)

4. RDBMS y NoSQL tradicionales

传统的 rRDBMS
-结构化组织
-SQL
-数据和关系都存在单独的表中
-操作操作,数据定义语言
-严格的一致性
-基础的事务
-......
NOsql
-不仅仅是数据
-没有固定的查询语言
-键值对存储,列存储,文档存储,图形数据库(社交关系)
-最终一致性
-CAP定理和BASE (异地多活)初级架构师
-高性能、高可用,高可扩

2.2: Comprensión: 3v + 3 alto

大数据时代的3v:主要描述问题

1.海里Volume

2.多样Variety

3.实时Velocity 5G

大数据时代的3高:主要对程序的要求

1.高并发

2.高可扩(随时水平拆分,机器不够了,可以扩展机器来解决)

3.高性能(保证用户体验跟性能) 

在公司中的实践:NoSQL + RDBMS 一起使用才是最强的

Tres: cuatro categorías de NoSQL

1 base de datos de valores-clave

相关产品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached

应用:内容缓存

优点:扩展性好、灵活性好、大量写操作时性能高

缺点:无法存储结构化信息、条件查询效率较低

使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)

2 Base de datos de documentos

相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit

应用:存储、索引并管理面向文档的数据或者类似的半结构化数据

优点:性能好、灵活性高、复杂性低、数据结构灵活

缺点:缺乏统一的查询语言

使用者:百度云数据库(MongoDB)、SAP(MongoDB)

Datos de familia de 3 columnas

相关产品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS

应用:分布式数据存储与管理

优点:查找速度快、可扩展性强、容易进行分布式扩展、复杂性低

使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)

4 Base de datos de gráficos

相关产品:Neo4J、OrientDB、InfoGrid、GraphDB

应用:大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等

优点:灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱

缺点:复杂性高、只能支持一定的数据规模

使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)

eo4J、OrientDB、InfoGrid、GraphDB

应用:大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等

优点:灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱

缺点:复杂性高、只能支持一定的数据规模

使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)

Supongo que te gusta

Origin blog.csdn.net/weixin_47151643/article/details/108505412
Recomendado
Clasificación