
【数据库与(No)SQL】
数据库与SQL
rtoax
学习使我快乐,我希望世界和平!
-
转载 MongoDB 教程 | 菜鸟教程
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。2020-09-27 21:01:07106
2
-
转载 Redis缓存持久化:RDB持久化和AOF持久化
突然挂了!Redis缓存都在内存中,这下完了!来源 | 编程技术宇宙作者 | 轩辕之风O我是Redis,一个叫Antirez的男人把我带到了这个世界上。“快醒醒!快醒醒!”,隐隐约约,我听到有人在叫我。慢慢睁开眼睛,原来旁边是MySQL大哥。“我怎么睡着了?”“嗨,你刚才是不是出现了错误,整个进程都崩溃了!害得一大堆查询请求都给我怼过来了!”MySQL说到。刚刚醒来,脑子还有点懵,MySQL大哥扶我起来继续工作。“糟了!我之前缓存的数据全都不见了!”“WTF?你没有做持久化吗?”My2020-09-22 12:51:2768
6
-
转载 Redis与MySQL的双剑合璧,一文读懂redis
还不懂Redis?看完这个故事就明白了!RedisRedis(Remote Dictionary Server)的诞生,跟关系数据库MySQL还挺有渊源的。MySQL使用中,有一大半的用户请求都是读操作,而且经常都是重复查询一个东西,浪费它很多时间去进行磁盘I/O。是不是可以学学CPU,给数据库也加一个缓存呢?于是redis就诞生了!并和MySQL成为了好朋友,常常携手出现在后端服务器中。应用程序们从MySQL查询到的数据,在redis登记一下,后面再需要用到的时候,就先找我要,我这里没有再找My2020-09-16 09:01:5469
0
-
原创 Redis与Memcached的对比
转自:Redis和Memcached的恩怨情仇近些年来各路KV缓存强势崛起,尤其Redis一骑绝尘,很多新进的程序员可能都没听说过Memcached,还有很多老程序员觉得Memcached不行:功能少,不持久化,高可用差,但事实并非如此,本文将对Redis和Memcached进行对比看看Memcached是不是真的”一无是处“了下面我们来看一个场景业务同学A:你好,我申请了一个20G,100000 QPS的Memcached,麻烦审批下?业务同学B:hello,请问什么时候用Redis?什么时候用M2020-09-16 08:40:0082
2
-
转载 MySQL高阶面试题
目录1. 能说下myisam 和 innodb的区别吗?2. 说下mysql的索引有哪些吧,聚簇和非聚簇索引又是什么?3. 那你知道什么是覆盖索引和回表吗?4. 锁的类型有哪些呢5. 你能说下事务的基本特性和隔离级别吗?ACID6. 那ACID靠什么保证的呢?7. 那你说说什么是幻读,什么是MVCC(多版本并发控制:数据在某个时间节点的快照)?8. 那你知道什么是间隙锁吗?9. 你们数据量级多大?分库分表怎么做的?10. 那分表后的ID怎么保证唯一性的呢?11.2020-11-05 22:12:3862
1
-
转载 Memcached 教程 | 菜鸟教程
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。2020-10-11 20:17:1888
0
-
原创 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)
关系型数据库遵循ACID规则(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)),而Nosql数据库遵循BASE原则(基本可用(Basically Availble)、软/柔性事务(Soft-state)、最终一致性(Eventual Consistency))。关系型数据库通常有SQL Server,Mysql,Oracle。主流的Nosql数据库有redis,memcache,MongoDb。2020-10-11 19:45:161794
7
-
原创 面向初学者的图形数据库:为什么我们需要NoSQL数据库,ACID与BASE的解释说明
NoSQL数据库是生活中的那些东西,都无助地定义一个只有它们是什么不是,而不是由他们什么是,即防定义。NoSQL是不只是SQL的厚脸皮缩写,或者更是对抗性的,是SQL的否定。这种反定义向您介绍了NoSQL运动开始的原因:基于SQL的关系数据库并不总是足够的。关系数据库(RDBMS)仍然有其完美的用例,RDBMS经常可以与NoSQL数据库一起很好地利用两种技术的优势。(这就是Neo4j正式选择不仅仅将SQL作为NoSQL的定义的原因,因为SQL仍然在任何后端中都有它的位置。)但是,仍然很清楚,关系数据2020-10-11 15:33:0765
0
-
原创 MongoDB-概述:跨平台的面向文档的高性能高可用性易扩展数据库
MongoDB是一个跨平台的,面向文档的数据库,可提供高性能,高可用性和易扩展性。MongoDB致力于收集和文档的概念。2020-10-01 19:26:54188
2
-
转载 分布式锁原理及实现
Table of Contents什么是分布式锁?分布式锁也是锁什么时候需要使用分布式锁这时候就可以知道分布式锁需要做哪些工作了使用场景一、基于数据库实现分布式锁基于数据库表乐观锁悲观锁二、基于Zookeeper实现分布式锁三、基于缓存实现分布式锁三种方案的比较从理解的难易程度角度(从低到高)从实现的复杂性角度(从低到高)从性能角度(从高到低)从可靠性角度(从高到低)什么是分布式锁?控制分布式架构中多个模块访问的优先级要介绍分.2020-09-05 22:08:2865
1
-
转载 分布式事务的特征、原理、以及常见3种解决方案
分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务各方面与大家进行介绍。事务1.1 什么是事务数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务拥有以下四个特性,习惯上被称为ACID特性:原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么...2020-09-05 21:55:5499
3
-
原创 Redis架构图-1
图片来源于网络,侵删。2020-08-10 18:49:3595
0
-
翻译 Redis概念与架构
Redis Enterprise集群由部署在数据中心内或跨本地可用性区域延伸的相同节点组成。Redis Enterprise架构由管理路径(如下图1的蓝色层所示)和数据访问路径(如下图1的红色层所示)组成。管理路径包括集群管理器,代理和用于程序管理的安全REST API / UI。简而言之,集群管理器负责编排集群,放置数据库分片以及检测和缓解故障。代理有助于扩展连接管理。 数据访问路径由主Redis碎片和从属Redis碎片组成。客户端在主分片上执行数据操作。主碎片使用内存复制来维护从碎片,以防止...2020-08-10 17:30:2372
3
-
翻译 Redis架构概述
目录什么是内存中的键值存储Redis与DBMS相比的优缺点Redis单实例架构Redis持久性Redis数据存储的备份和恢复Redis复制Redis复制中的持久性Redis中的聚类集群中的持久性群集和复制在一起Redis客户端Redis是一个内存中的键值数据存储。Redis是最流行的键值数据存储。世界上所有大型IT品牌都在使用Redis。Amazon Elastic Cache支持Redis,这使Redis非常强大,并且必须知道键值数据存储。在这篇文章中,我将2020-08-10 17:09:36217
3
-
原创 MySql基本操作教程
一、MySQL数据库的安装1.Windows下的安装2.Linux下的安装3.MAC下的安装二、开始使用MySQL数据库0.简单理解MySQL数据库1.在命令行中进入MySQL数据库2.查看已有的数据库3.创建自己的数据库4.选择要操作的数据库5.在数据库中创建数据库表6.MySQL数据库、数据库与数据库表三、操作数据库中的数据库表1.向数据表中添加数据(1)关于列名称(2)关于数据类型(3)关于not null(4)关于primar...2020-05-24 21:38:52177
1
-
原创 linux环境C语言操作数据库
在实际应用中,我们不可能在命令行登录进数据库进行数据的查询、插入等操作,用户一般是使用一个界面良好的应用程序软件来对数据进行管理。为了方便应用程序的开发,MySQL提供了多种编程语言(C、perl、php等)的编程接口,供开发者使用。 对于C语言来说,MySQL提供了C语言客户机库,它允许从任何C程序的内部访问MySQL数据库,客户机实现API,API定义了客户机如何建立和执行与服务器的通信。使用C语言开发MySQL项目具有更好的安全性和性能,C语言API是与MySQL...2020-05-24 21:37:31143
0
-
转载 Redis: key-value存储系统
Redis 教程REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets...2020-05-24 17:09:59186
0
-
转载 网站 数据库
https://www.runoob.com/hosting/host-databases.htmlTable of Contents网站数据库网站数据库使用 SQL 语言SQL ServerOracleMySQLAccess网站数据库MS SQL Server 或者 Oracle 用于高流量的数据库驱动型网站。MySQL用于低成本的数据库访问。...2019-11-10 21:29:09163
0
-
转载 RDBMS即关系数据库管理系统(Relational Database Management System)
[RDBMS]https://baike.baidu.com/item/RDBMS/1048260?fr=aladdin#ref_[1]_57768RDBMS即关系数据库管理系统(Relational Database Management System),是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是关系数据库管理系统,常用的数据库软件有Oracle、SQL Server等。...2018-06-10 15:23:515351
1
-
转载 GitHub#SQL#:SQL必知必会
一、基础模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。主键的值不允许修改,也不允许复用(不能使用已经删除的主键值赋给新数据行的主键)。SQL(Structured Query Language),标准 SQL 由 ANSI 标准委员会管理,从而称为 ANSI SQL。各个 DBMS 都有自己的实现,如 PL/SQL、Transact-SQL 等。SQL 语句不...2018-05-09 13:44:33774
1
-
转载 PostgreSQL 常用函数
Table of ContentsPostgreSQL 常用函数数学函数三角函数列表字符串函数和操作符类型转换相关函数PostgreSQL 常用函数PostgreSQL 内置函数也称为聚合函数,用于对字符串或数字数据执行处理。下面是所有通用 PostgreSQL 内置函数的列表:COUNT 函数:用于计算数据库表中的行数。 MAX 函数:用于查询某一特定列中最...2019-12-22 20:02:42253
0
-
转载 PostgreSQL的登录、创建用户、数据库并赋权
Table of Contents一、在默认配置条件下,本机访问PostgreSQL二、创建新用户来访问PostgreSQL1、如上所述,先切换到Linux用户postgres,并执行psql:2、创建数据库新用户,如 test:3、创建用户数据库,如testdb:4、将testdb数据库的所有权限都赋予test:5、使用命令 \q 退出psql:6、创建Linux...2019-03-30 19:39:2717583
7
-
原创 Linux下PostgreSQL的安装和配置
Table of Contents一、在CentOS上安装PostgreSQL数据库1.使用yum安装postgresql2.初始化postgresql数据库2.启动postgresql服务3.查看postgresql的服务状态二、连接PostgreSQL数据库1.切换的postgres用户,并连接数据库2.列出所有的数据库3.退出数据库三...2019-03-16 13:40:501078
0
-
原创 PostgreSQL C tutorial
Table of ContentsAbout PostgreSQL databaseInstallationStarting and stopping PostgreSQLCreating a user and a databaseC99The libpq librarylib_version.cServer versionserver_version.cA...2019-03-14 22:37:55153
0
-
原创 ZetCode
http://zetcode.com/ZetCode brings tutorials for programmers in various areas. The main are Graphical User Interfaces, databases, and programming languages. The website's mission is to provide compet...2019-01-14 21:38:59405
1
-
原创 在windows下配置PostgreSQL
安装PostgreSQL在Windows下的安装就位无脑安装,选择好安装路径就好了,我的安装目录为D:\PostgreSQL\10,需要注意一下几点:安装过程中需要一个数据库的目录,我的为D:\PostgreSQL\10\data;安装后在安装目录总会有一个环境变量的文件pg_env.bat,这个文件中的内容为:@ECHO OFFREM The script sets environment v...2018-06-11 15:02:452808
0
-
原创 用PostgreSQL运行文件中的SQL程序
用PostgreSQL运行文件中的SQL程序首先文件内容如下:$ lsbarcode.sql drop_tables.sql orderline.sqlcreate_tables-bpsimple.sql item.sql PostgreSQL.mdcustomer.sql orderinfo.sql s...2018-06-10 21:52:412004
0
-
原创 创建一个SQL测试数据库 - 消费者数据库
创建TABLEScreate_tables-bpsimple.sqlCREATE TABLE customer ( customer_id serial , title char(4) , fname varchar(32) , lname varchar(32) NOT NULL, addressline varchar(64) , to...2018-06-10 20:33:302338
0
-
原创 PostgreSQL的使用-02-在Linux下的基本配置
初始化数据库$ su # su - postgres postgres$postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data如果一切正常,你将在initdb命令的-D参数指向的位置拥有一个全新的空白数据库。配置连接权限默认情况下,PostgreSQL不允许全面的远程访问。为了赋权给远程连接,你必须编辑配置文件pg_hba...2018-06-10 20:18:34122
0
-
原创 PostgreSQL的使用-01-创建一个table
PostgreSQL的使用(1)一.如何使用PostgreSQL安装-略登陆PostgreSQL$ su# su - postgres$ 这时就进入了PostgreSQL的安装目录/opt/PostgreSQL/10/创建一个数据库,并连接数据库$ createdb testdb$ psql testdbtestdb=#之后你就会一直在testdb=#下操作,当一个语句没有写完时为“tes...2018-06-07 20:53:51548
0
-
转载 POSTGRESQL - SYNTAX句法
Link: https://www.tutorialspoint.com/postgresql/postgresql_syntax.htmThis chapter provides a list of the PostgreSQL SQL commands, followed by the precise syntax rules for each of these commands. This ...2018-06-06 22:13:57208
0
-
转载 POSTGRESQL - Java INTERFACE
InstallationBefore we start using PostgreSQL in our Java programs, we need to make sure that we have PostgreSQL JDBC and Java set up on the machine. You can check Java tutorial for Java installation o...2018-06-06 22:07:36132
0
-
转载 Installing PostgreSQL on Linux/Unix/windows
[link: ]https://www.tutorialspoint.com/cgi-bin/printpage.cgiTo start understanding the PostgreSQL basics, first let us install the PostgreSQL. This chapter explains about installing the PostgreSQL on ...2018-06-06 22:00:40155
0
-
转载 POSTGRESQL - C/C++ INTERFACE - libpqxx
link: https://www.tutorialspoint.com/postgresql/postgresql_c_cpp.htmThis tutorial is going to use libpqxx library, which is the official C++ client API for PostgreSQL. The source code for libpqxx is...2018-06-06 21:46:48626
0
-
转载 MySQL 安装+管理
Table of ContentsMySQL安装Linux/UNIX 上安装 MySQL验证 MySQL 安装使用 MySQL Client(Mysql客户端) 执行简单的SQL命令Mysql安装后需要做的Windows 上安装 MySQLMySQL安装所有平台的 MySQL 下载地址为:MySQL 下载。 挑选你需要的MySQL Community Se...2019-11-10 21:36:3490
0
-
原创 MySQL连不上:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Table of Contents修改文件:mysqld.cnf重启mysql再次连接修改密码将密码方式改为常规今天在linuxmint上安装了一个mysql$ mysql --versionmysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper但是出现了登录不上的...2019-03-13 22:32:1987
0
-
转载 理解Mysql prepare预处理语句:mysql_stmt_init(MYSQL *mysql);
MySQL 5.1对服务器一方的预制语句提供支持。如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优势。候选界面包括MySQL C API客户端库(用于C程序)、MySQL Connector/J(用于Java程序)和MySQL Connector/NET。例如,C API可以提供一套能组成预制语句API的函数调用。其它语言界面可以对使用...2019-03-13 22:43:561759
0
-
原创 MySQL与PostgreSQL
Table of ContentsMySQLPostgreSQL平台标准兼容性结论最后结论说的好,通常由团队成员的熟悉度来决定;PostgreSQL 的名字很少听到,最近试装发现不是很友好;官方文档写的对新手来说有点坑;有数据库工作经验的直接看最后一句就可以。如果打算为项目选择一款免费、开源的数据库,那么你可能会在MySQL与PostgreSQL之间犹豫不定。...2019-03-14 22:24:41163
0
-
原创 CentOS7安装MySQL初始密码设置:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:
晕,找了好半天终于找到了,在这里做个笔记。解决错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)Table of Contents1.安装2.查找初始密码3.密码修改4.其他设置感谢:CentOs安装Mysql和配置初始密码1.安装首先使...2019-03-11 21:27:36967
2
-
原创 Linux环境下C语言MySQL接口API:第一讲
Table of Contents创建数据库create_db.c编译:运行与结果查看:查看MySQL版本version.c编译运行:显示一个数据库mysql_test.c连接主机上的数据库connect.c插入数据库、从数据库中删除insertDelMySQL.c从数据库中查询searchMySQL.cmakefile创建数据库...2019-03-11 22:00:43613
0