当前位置: 首页 > 编程日记 > 正文

mysql类exadata功能_几类关系型数据库的数据解决方案

640?wx_fmt=jpeg

今天聊下几类关系型数据库的数据解决方案,算是抛砖引玉,近期也要对技术方向上做一些扩展,也算是前期的小结吧。

1

3

Oracle

目前市面上的主流版本应该还是11gR2,记得很多年前有个网站做过一次调查,10g,11g的版本比例差不多是6:3,我想现在11gR2的版本比例应该能够占到90%以上,剩下的份额应该是12c的,现在用10g版本的数据库是少之又少,更早版本的除非业务足够稳定,实在是找不出什么理由不升级了。

来简单说说Oracle的方案。

从灾备的角度来说,那就是毫无悬念的Oracle Data Guard,从9i开始的基础功能,到了10g作为标准组件,11g的Active Data Guard,Snapshot Standby,12c的Far Sync和后期的更多定制,Data Guard已经表明备库不仅仅是备库,而是可以承载更多的业务操作。

从高可用的角度来看,Oracle RAC是目前的数据库高可用方案中的佼佼者了,因为经历了大量的生产实践,所以这个软件可谓是很多大型企业的标配,RAC是典型的share-everything架构。

当然Oracle支持sharding也是对原来架构的一种间接实现,所以在12c后期直接做了更大尺度的改进,基于RAC还可以做sharding。

还有两个方案也是在12c里面主推的,12c In-memory,CDB,这个在很多程度上能够对数据库做一定的资源整合和高效的数据计算,算是12c里面的标配特性。

从12c的特性来看,对于OLTP方向的改进就很有限了,开始在AP方向发力。Exadata也是其中之一,主要的方向是AP业务,但是因为硬件的极大优势,现在TP业务上也有的很普遍。

所以Oracle的架构模式是share-everything,所以数据库再大,也有个限度。毕竟共享导致的代价就是存储上有一定的局限性。包括AP业务,只能算是大中型数据,离海量数据还是有一定距离的,毕竟一个TP业务的百T数据库想想都有些担心,有种牵一发而动全身的感觉。

2

3

MySQL

MySQL的特点就是开源轻量,当然现在说轻量好像不是很严谨了,现在看看分支Percona,MariaDB和其他的分支,真是方案多多。

MHA是经典的高可用方案,到了现在依然很火,社区里面也有了很多的定制版本。

MySQL Proxy系列

这个版本是目前MySQL社区里发力点最多的一个方向,可见大家对于MySQL的单机承载从架构上就做了分离,尽可能动用集群的力量,而不是单兵作战。

所以市面上会看到很多的中间件产品,无论是商业的还是开源的,都有一定的适用场景。

MySQL Group Replication 和InnoDB Cluster算是官方的一个发力点,现在来看,Oracle也在不遗余力的做很大的改进,以前诟病的很多问题现在都在快马加鞭的修复,这在很大程度上会让原本的社区产品受到熬一定的压力和风险,同时也会相对让用户更加贴近官方版本。从我的角度来说,我是看好官方方案的,8.0版本发布后,会对MySQL的现状产生较为深远的影响。

AP方向上,有两个不错的方案,比如MySQL和NewSQL的透明切换,TiDB就是一个不错的选择,现在也就是主打的HTAP方案。TiDB作为分布式方案可以直接作为MySQL的Slave。

当然还有MariaDB ColumnStore,是以前的InfiniDB的后期演化版本,也值得一试。

3

3

PostgreSQL

PG是开源社区的一只小蜜蜂,产生了很多不错的方案。

对此我简单说两个,一个是对于PG的集群方案GP,基于MPP的架构模式可以承载更多的压力和负载。

GP的架构和其他略有不同。

640?wx_fmt=png

还有很火的小强数据库,CockroachDB,也很值得关注。

相关文章:

ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!

两题水题: 1.如果一个数能被分解为两个素数的乘积,则称为Semi-Prime,给你一个数,让你判断是不是Semi-Prime数。 2.定义F(0) 7, F(1) 11, F(n) F(n-1) F(n-2) (n>2) 让你判断第n项是否能被3整除。 1.ZOJ 2723 Semi-Prime ht…

Lua中的基本函数库

基本函数库为Lua内置的函数库,不需要额外装载assert (v [, message])功能:相当于C的断言,参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed…

Oracle中的substr()函数 详解及应用

1)substr函数格式 (俗称:字符截取函数) 格式1: substr(string string, int a, int b); 格式2:substr(string string, int a) ; 解释: 格式1: 1、string 需要截取的字符串 2、a 截取字符串…

linux进程间通信:POSIX 消息队列

文章目录基本介绍相关编程接口编程实例消息队列通信实例消息队列属性设置实例基本介绍 关于消息队列的基本介绍,前面在学习system V的消息队列时已经有过了解,linux进程间通信:system V消息队列 支持不同进程之间以消息(message…

opencv 修改图像数值_opencv 修改图像数值_Python中使用OpenCV读取像素

如何在Python中遍历像素呢?请看代码:import numpy as npimport cv2import matplotlib.pyplot as pltsrc cv2.imread("src.png")gray cv2.cvtColor(src, cv2.COLOR_RGB2GRAY)rows, cols gray.shape[:2]row gray[200]plt.plot(row)# plt.sho…

SQL中返回一个字符串在另一个中存在的次数

ALTER FUNCTION [reg].[f_GetSameStringCntNoSort] ( str1 VARCHAR(100),--源字符串,取该串中的strLen长度的字符是否在目的字符串 str2 VARCHAR(100) --目的字符串 ) RETURNS INT AS BEGIN -- 返回的长度 DECLARE count INT DECLARE returnValue …

自由软件的自由

我相信我的订阅者中有很多是IT从业人员,我们在工作中会使用各种软件,除了微软、苹果等软件巨头的商业软件,还有更多的自由软件。我们使用这些软件构建自己的工作环境,为公司开发运营系统,为客户实现业务流程&#xff0…

c/c++ 拷贝控制 构造函数的问题

拷贝控制 构造函数的问题 问题1:下面①处的代码注释掉后,就编译不过,为什么??? 问题2:但是把②处的也注释掉后,编译就过了,为什么??? …

linux进程间通信:POSIX 消息队列 ----异步通信

在上一篇中linux进程间通信:POSIX 消息队列我们知道消息队列中在消息个数达到了队列所能承载的上限,就会发生消息的写阻塞。 阻塞式的通信影响系统效率,进程之间在通信收到阻塞时并不能去做其他事情,而是一直处于阻塞状态。 为了…

【转】Android设计中的.9.png

来源:http://isux.tencent.com/android-ui-9-png.html Android设计中的.9.png 注意:当使用9.png做TextView背景时,一定要设置内容区域(底部和右侧),否则,文字显示不出来。 偶米伽 2013.08.20在A…

python创建scrapy_Python爬虫教程-31-创建 Scrapy 爬虫框架项目

首先说一下,本篇是在 Anaconda 环境下,所以如果没有安装 Anaconda 请先到官网下载安装Scrapy 爬虫框架项目的创建0.打开【cmd】1.进入你要使用的 Anaconda 环境1.环境名可以在【Pycharm】的【Settings】下【Project:】下找到2.使用命令&#…

KOAProgressBar

2019独角兽企业重金招聘Python工程师标准>>> KOAProgressBar 是 iOS 上的一个进度条控件,要求 iOS 5 支持 转载:http://www.adobex.com/ios/source/details/00000866.htm 转载于:https://my.oschina.net/u/868244/blog/106310

linux进程间通信:POSIX信号量

文章目录概念描述编程接口注意事项编程案例信号量基本接口使用案例信号量父子进程间通信信号量实现 两进程之间通信概念描述 英文:semaphore 简称SEM,主要用来进行进程间同步本质:内核维护的一个正整数,可对其进行各种/-操作分类…

指针小白:修改*p与p会对相应的地址的变量产生什么影响?各个变量指针的长度为多少?...

这两天敲代码碰到了一个这样的问题 代码如下&#xff1a; 1 #include <stdio.h>2 #include <stdlib.h>3 int main()4 {5 int num1 10;6 7 int* p&num1;8 *p 20;9 10 printf("%p\n", &num1); 11 printf("%d\…

MVC自带表单效验

废话不说&#xff0c;直接上代码&#xff0c;一看就明白 源地址&#xff1a;http://www.cnblogs.com/sixiangqimeng/p/3561313.html [StringLength(5,ErrorMessage "*长度小于5")][Required(ErrorMessage "*必填啊&#xff01;")][Required(ErrorMessage…

mysql求每个订单的平均价_MySQL – 选择所有客户和每个客户的总订单和总价值

SELECT a.ID,a.Name,COUNT(b.Customer) totalOrders,SUM(b.value) total_valueFROM Customers aLEFT JOIN Orders bON a.ID b.CustomerGROUP BY a.ID,a.Name要么SELECT a.ID,a.Name,COUNT(b.Customer) totalOrders,COALESCE(SUM(b.value), 0) total_valueFROM Customers aLEFT…

windows server 2008设置远程桌面连接最大数量

windows server 2008设置远程桌面连接最大数量 系统默认远程桌面连接的数量为1 打开控制面板---管理工具---远程桌面服务---远程桌面会话主机设置---把"限制每个用户只能进行一个会话"勾选去掉&#xff1b; 然后双击连接中的RDP-Tcp---网络适配器--最大连接数 修改为…

BZOJ1002 [FJOI2007]轮状病毒(最小生成树计数)

Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 7125 Solved: 3878[Submit][Status][Discuss]Description 轮状病毒有很多变种&#xff0c;所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的&#xff0c;2个原子之间的…

linux进程间通信:POSIX 共享内存

文章目录思维导图通信原理优势POSIX 共享内存 编程接口编程案例思维导图 之前学习过sysemV 的共享内存的实现及使用原理&#xff0c;参考linux进程间通信&#xff1a;system V 共享内存 POSIX 同样提供共享内存的接口&#xff0c;基本原理和system V的共享内存是一样的。 通信…

求二进制中1的个数(编程之美2.1)

行文脉络 解法一——除法解法二——移位解法三——高效移位解法四——查表扩展问题——异或后转化为该问题对于一个字节&#xff08;8bit&#xff09;的变量&#xff0c;求其二进制“1”的个数。例如6&#xff08;二进制0000 0110&#xff09;“1”的个数为2&#xff0c;要求算…

mysql管理用户数据库_MySQL 数据库管理(一)(用户与受权)

前言在企业信息化的过程当中&#xff0c;数据库中库和表都会大量存在&#xff0c;须要分配给管理者核实的权限进行操做合理地分配权限&#xff0c;可使数据库管理井井有理&#xff0c;各个管理者只须要关注本身负责的内容&#xff0c;也可避免误操做对系统形成损失1、用户与受权…

Smart-linkmonitor-link配置注意事项

一、应用场合 Smart Link用于双上行组网&#xff0c;Monitor Link一般用于与Smart Link的联动&#xff0c;配置在Smart Link的上游设备。 二、注意事项 在配置过程中&#xff0c;请注意以下几点&#xff1a; ? 1、指定实例之前请先配置MSTP实例。MSTP的实例和VLAN映射关系发生…

封装OpenCL类

以上一篇《OpenCL入门测试》为基础&#xff0c;将函数封装到类中&#xff0c;方便调用。 #include <cstdlib> #include <iostream> #include <iomanip> #include <cstring> #include <cassert> #include <windows.h> #define CL_USE_DEPRE…

linux系统调用 ftruncate设置文件大小

系统调用ftruncate可以将一个文件裁剪为指定的大小&#xff0c;函数描述如下&#xff1a; 头文件&#xff1a;<unistd.h> <sys/types.h>函数使用&#xff1a; int truncate(const char *path, off_t length); int ftruncate(int fd, off_t length);函数参数&…

剑指 offer set 22 数组中的逆序数

总结 1. 题目为归并排序的变形, 不过我完全没想到 2. 在归并排序进行字符组 merge 时, 统计逆序数. merge 后, 两个子数组是有序的了, 下次再 merge 的时候就能以 o(n) 的时间内找到某一个逆序对第二个元素的个数 转载于:https://www.cnblogs.com/xinsheng/p/3564026.html

qt信号发送间隔短而槽耗时多_Qt信号槽问题汇总 - osc_9q1dp3jk的个人空间 - OSCHINA - 中文开源技术交流社区...

1. 发送一次信号&#xff0c;调用多次槽函数问题在同一个类中&#xff0c;多次链接QObject::connect(sender, SIGNAL(signalSender(QString, int)), receiver, SLOT(onSignalSender(QString, int))); 会导致发送一次信号signalSender(QString, int) 多次调用槽函数(onSignalSen…

一劳永逸关闭Windwos默认共享

对于IPC$&#xff0c;找到注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA下的RestrictAnonymous项&#xff0c;并将键值改为1。 对于其它默认共享&#xff0c;在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters下&#…

springboot 集成mybatis时日志输出

application.properties(yml)中配置的两种方式&#xff1a; 这两种方式的效果是一样的&#xff0c;但是下面一种可以指定某个包下的SQL打印出来&#xff0c;上面这个会全部的都会打印出来。 转载于:https://www.cnblogs.com/z0909y/p/10077565.html

linux文件IO与内存映射:用户空间的IO缓冲区

文章目录用户空间IO缓冲区产生IO缓冲区 描述IO缓冲区的写模式自定义IO缓冲区用户空间IO缓冲区产生 系统调用过程中会产生的开销如下&#xff1a; 切换CPU到内核态进行数据内容的拷贝&#xff0c;从用户态到内核态或者从内核态到用户态切换CPU到用户态 以上为普通到系统调用过…

java zookeeper_Java zookeeper开发实例

1、安装zookeeper下载zk http://archive.cloudera.com/cdh5/cdh/5/配置文件tickTime2000initLimit10syncLimit5# zk数据保存目录dataDir/usr/local/zookeeper/dataclientPort2181启动&#xff1a;bin/zkServer.sh start客户端命令行链接&#xff1a;bin/zkCli.sh2、拷贝zookeep…