如何看待sds?

---20160428服务器与存储群话题讨论时间到~~

iphone换小米:

聊聊这个吧,sds你怎么看?

我:

刘总研究软件定义存储了啊

jeffery:

我在移动门口等客户

jeffery:

NexentaStor是统一存储,NexentaEdge是分布式对象存储

Ether Que :

nexentastor我做过,做iscsi,ftp

iphone换小米:

@老狼也是今天看了冬瓜哥发的文章,突然想聊聊

我:

嗯嗯

番@茄:

存储同步和异步什么区别呀,有兄弟知道么

jeffery:

实时,同步是接近实时

番@茄:

异步呢?

攻城狮:

同步就是写操作要求远端存储返回后才算是完成一个io

攻城狮:

异步则不需要

jeffery:

异步就是不实时了,过一阵再拷贝,也许闲时

番@茄:

那异步还是存在数据不一样的风险啊

阳光生活:

同步和异步一起用最好

iphone换小米:

@阳光生活对呀,这样就可以两地三中心了

番@茄:

问题是有一台放在异地,只能做异地镜像备份啊,本地用卷拷贝就可以了

马晓明:

反正距离越远越贵

阳光生活:

本地用同步,异地用异步

阳光生活:

如果本地机器配置不一样的,也可以异步,基本上差距不会超过0.1秒的

番@茄:

唉,客户要做存储双活,折腾

阳光生活:

双活得做本地的

番@茄:

异地根步上么

阳光生活:

异地看距离,而且得上裸光纤

Ray:

不差钱的客户可以搞一搞,直接异地光线专线。

Ray:

话说,现在双活有明确定义么

阳光生活:

异地双活是仅存储?还是包括服务一起?

Ray:

太难了

物美梁强:

谁要做灾备,我这儿专业灾备很多年,一直被模仿,从未被超越

阳光生活:

先从做集群开始

我:

梁老师 看手相看风水多年

阳光生活:

来,都把爪子发上来,梁老师给适当的说一下

物美梁强:

别发了,流量这么贵,我不忍心

Ether Que :

谁要做集群,我这儿专业集群很多年,一直被模仿,从未被超越

番@茄:

服务器HA?

阳光生活:

昨天我一天没上线,错过了好多流量

阳光生活:

HA是老技术了

阳光生活:

应用集群和存储集群

Ether Que :

方法有很多

阳光生活:

分布式集群很灵活

阳光生活:

就是部署和维护起来,做自动化更好

CoCo:

服务一般用负载均衡做吧

番@茄:

分步式存储不能做双活的啊

番@茄:

服务器应该双活就是应用HA吧?

阳光生活:

分布式集群就不仅仅是双活了,是N活

番@茄:

这个是华三分步式存储和集中式存储的对比

番@茄:

分布式是靠节点支撑

阳光生活:

分布式比集中式要复杂

阳光生活:

包括网络支撑

番@茄:

分布式能否使应该不间断?

董志卫:

分布式已经考虑了灾备需求

董志卫:

分布式的难点在于在于多节点情景下的通讯和管理

阳光生活:

分布式就好像磁盘阵列一样,把负载和冗余都做了

董志卫:

是的

董志卫:

在超大规模下会暴露出来

董志卫:

一般规模下基本上没有问题

番@茄:

那肯定的,我觉得核心业务不好部署在分布式上

董志卫:

Hadoop底层hdfs就是这么设计的

董志卫:

主要看业务场景

董志卫:

有的根本就没必要,或者说上了不如不上

董志卫:

现在主要是异地互联成本较高

董志卫:

实现起来困难比较大

董志卫:

想想前两年的支付宝问题

董志卫:

阿里应该是非常有钱了吧

董志卫:

以前有一个银行的结算系统,由于链路抖动造成数据不能同步,危害巨大

董志卫:

光纤超过50公里,没有人给你保证,拍胸脯的都是忽悠

番@茄:

哈哈,做容灾还差不多

董志卫:

董志卫:

时效性特别高的,本地和同城还行

番@茄:

容灾知识数据备份,客户感觉不高大上,满足不了呀

董志卫:

那是业务需求不到

董志卫:

到了自然就会上

番@茄:

哈哈,到了直接双活,搞死他们

如果你也对我们每天讨论的话题感兴趣,快来加入我们吧~

公众账号:运维高手互助

微信群主账号:dcc18610691967

时间: 2024-10-06 11:32:48

如何看待sds?的相关文章

Redis自定义动态字符串(sds)模块(二)

sds模块的具体实现: 1.sdsnewlen 根据参数生成一个sds字符串 1 sds sdsnewlen(const void *init, size_t initlen) 2 { 3 struct sdshdr *sh; 4 //如果初始化的内容为NULL,则生成一个内容只有一个\0的串,但是长度不会变,还是传入的长度.zmalloc和zcalloc的功能一样,这个地方为啥还要调用不同的呢. 5 if (init) { 6 sh = zmalloc(sizeof(struct sdshdr

redis学习-sds数据类型

今天开始了redis的学习,本来想直接从源码看起的,不过看到有篇对redis介绍的基础教程 <Redis 设计与实现(第一版)> 于是决定从这个开始入门. 1.数据类型定义 typedef char *sds; struct sdshdr { // buf 已占用长度 int len; // buf 剩余可用长度 int free; // 实际保存字符串数据的地方 char buf[]; }; 2.重新计算新的长度 newlen = sdshdr.len + required_len if n

关于redis中SDS简单动态字符串

1.SDS 定义 在C语言中,字符串是以’\0’字符结尾(NULL结束符)的字符数组来存储的,通常表达为字符指针的形式(char *).它不允许字节0出现在字符串中间,因此,它不能用来存储任意的二进制数据. sds的类型定义 typedef char *sds; 肯定有人感到困惑了,竟然sds就等同于char *? sds和传统的C语言字符串保持类型兼容,因此它们的类型定义是一样的,都是char *,在有些情况下,需要传入一个C语言字符串的地方,也确实可以传入一个sds. 但是sds和char

Redis—数据结构之SDS

Redis是一个Key Value数据库.Redis有5种数据类型:字符串.列表.哈希.集合.有序集合.而字符串的底层实现方法之一就是使用sds.以下描述中请读者注意区分sds是指简单动态字符串这一数据结构(用大写表示)还是sdshdr头部中buf数组的起始地址(用小写表示). SDS源码 如下源码所示. 根据要保存的字符串长度选用不同的头部大小,从而节省内存,注意sdshdr5与其他不同,下面会有介绍. SDS由两部分组成:sds.sdshdr.sds是一个char类型的指针,指向buf数组首

redis源码分析(2)-- 基本数据结构sds

一.sds格式 sds header定义: 1 struct sdshdr { 2 unsigned int len; 3 unsigned int free; 4 char buf[]; 5 }; sizeof(struct sdshdr)= 2*sizeof(unsigned int), char buf[]等价于char buf[0], 仅对编译器有效,并不实际占用存储. 其中len是使用的长度,free是剩余的长度,再加上一个C语言中的'\0'结束符 sizeof(buf) = len

SDS 链表

sds定义 struct sdshdr{ int len int free char buf[] } sds和c语言类似,仍然把字符串的末尾加上一个'.0',但是不会计入总长度,也就是不会对len造成影响,属于默认的,对使用者来说是透明的 根据这个数据的定义,我们可以判断出sds和c字符串的区别 (1)获取len长度的时间复杂度不一样,一个是O(N),一个是O(1), (2)杜绝缓冲区的溢出:对于c字符串,由于不会记录长度,所有可以造成溢出,比如我们说的strcat之类的,必须事先由使用者mal

如何看待 Kotlin 成为 Android 官方支持开发语言?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 如何看待 Kotlin 成为 Android 官方支持开发语言? - Thinkblog - 博客频道 - CSDN.NET Thinkblog 爱编程,爱分享,不仅限于技术. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]

redis源码分析1----字符串sds

1.1 Redis字符串的特点 1. 二进制安全,字符串中间可以包含'\0'字符.  2. redis在字符串的末尾会添加一个'\0'字符,所以redis字符串与标准C的字符串兼容.  3. 根据不同的字符串长度使用不同的类型,并且取消编译过程中的优化对齐,节省空间.  4. 为了提高字符串增长的效率,redis在扩充字符串长度操作(sdsMakeRoomFor)时的预分配了额外的空间,从而再下一次扩充长度时,不用再次分配空间.注意,redis并没有在新建字符串时分配额外的空间.redis基于一

Redis学习——SDS字符串实现

0. 前言 这里对Redis底层字符串的实现分析,但是看完其实现还没有完整的一个概念,即不太清楚作者为什么要这样子设计,只能窥知一点,需要看完redis如何使用再回头来体会,有不足之处还望告知. 涉及文件:sds.h/sds.c 1.  数据结构: 1 typedef char *sds; 2 3 struct sdshdr { 4 unsigned int len; //buf中已使用的字节数 5 unsigned int free; //buf中未使用的字节数 6 char buf[]; /