❶ 电脑起机总是跳出新插件对话框,要求安装RID控制器,请问RID控制器是什么不安装的话会对电脑有什么影响
RAID(Rendant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,
提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
RAID控制器就是在物理和逻辑阵列中管理数据存取的装置。系统通过它可以查看到逻辑驱动器,但是不必去直接管理。RAID控制器的功能既可以由硬件也可以由软件来实现。硬件RAID一般用于处理大量数据的RAID模式。随着处理器的能力的不断增强,软件RAID功能已经成为可能,不过当处理大量数据时CPU仍然会显得力不从心。在后文,我们将会讨论什么样的应用程序和RAID模式更适于硬件或者软件RAID。
❷ sqlserver2012执行计划中 rid查找 什么意思
解决方案:
可以通过访问索引来进行,这个是无序的。通常来说,这种方式数据是有序存储的。表内数据的组织方式分为堆(Heap)和B树,表中建立聚集索引后和非聚集索引的数据都是以B树方式进行组织,其中表中没有建立聚集索引时数据是通过堆进行组织的。这既可以通过直接访问表,对于过滤索引,还仅仅包含部分行首先最基本的操作就是访问数据,非聚集索引仅仅包含整个表的部分列。
❸ sqlite还是文件存储
比较好的方案是,内容结构用sqlite存,便于检索,访问也快。二进制数据(图片,音频等)用文件存本地。
比如你一篇文章的内容,我假设是这样, 分别有文本, 图片和音频内容
<record>
<title>tttttttt</title>
<content>xxxxxxxxxxxxx</content>
<image>/mnt/sdcard/yyyyy.jpg</image>
<image>/mnt/sdcard/kkk.jpg</image>
<audio>/mnt/sdcard/zzzzzzzz.amr</audio>
</record>
设计一数据库表 record,列分别是
rid 主键 int
title 文章标题 text
content 文章内容 text
再设计一个附件表attachment, 列分别是
aid 主键 int 附件的主键
rid 外键 int 关联到record
type 附件类型 int 自定义一下,比如0代表图片,1代表音频,其他可以扩展
name 附件名 text 实际上是保存时生成的MD5摘要,保证附件不重复保存
path 文件存放路径 text
这样一篇文章可以有任意数量的图片/音频和它对应,便于扩展,重复指定图片或音频,也不会重复保存。
都不需要写什么数据持久类,写一个数据封装就可以了,比如定义一个
class RecordWrapper{
public int getRecordCount(); //查询表record的记录总数
public SparseArray<String> getTitles(); //返回标题列表(这个如果太多,可以做分页)
//SparseArray稀疏数组,这个容器很方便,可以按下标像数组一样访问顺序访问,也可以按 //key-value像map一样访问,非常适合这里,key就保存记录主键,value保存title,
//遍历这个表,可以访问title,也可以映射到主键
public RecordData getRecord(int rid) ; //通过主键查询记录
public int saveRecord(RecordData record); //入库一条记录,返回主键
public void updateRecord(int rid, RecordData record); //更新记录
public void deleteRecord(int rid); //删除一条记录
}
RecordData AttachmentData分别是记录,和附件等数据封装类,这些类实际上是双重用途的
用于查询和用于入库时,其某些字段(主要是主键和附件表)内容不一定相同。
比如
class RecordData{
int rid; //用于入库时填一个负数,代表入库前主键还未知,用于查询时它是记录的主键值
String title; //标题
String context; //正文
List<AttachmentData> attachList;//附件列表,入库时它容纳待入库附件,查询时,
//返回和记录相关联的附件清单
}
class AttachmentData{
int aid;
int rid;
int type;
String name;
String path;
}
这里需要注意的一点就是name是一个用md5算法,根据附件文件数据生成的摘要字符串。
每次入库时,把附件原来的文件,复制到你的数据目录,并改名成这个摘要字符串。如果发现已经存在了,就不复制,这样就不会重复拷贝数据文件。
删除记录时,同时检查它的附件表中每一个附件,如果同名附件只有这一个了,就删除附件,如果还有其他记录使用了这个附件,就保留附件文件,只删除当前处理的附件项。
另外,只要数据不是太多(5M以内)保存单条记录都不大需要另开线程异步保存的,android还是比较快,直接存也是可以接受的。
❹ .NET Core 运行时标识符 (RID) 目录
RID 是运行时标识符的缩写。 RID 用于标识其中将运行应用程序或资产(即程序集)的目标操作系统。 其外观类似如下:“ubuntu.14.04-x64”、“win7-x64”、“osx.10.11-x64”。 对于具有本机依赖项的包,它将指定在其中可以还原包的平台。
请务必注意 RID 实际上是不透明字符串。 这意味着它们需要与使用它们的操作完全匹配。 例如,让我们设想这样的情况, Elementary OS 是 Ubuntu 14.04 的简单克隆。 虽然 .NET Core 和 CLI 基于该版本的 Ubuntu 工作,但如果尝试不进行任何修改就在 Elementary OS 上使用它们,则任何包的还原操作都将失败。 这是因为当前不具有将 Elementary OS 指定为一种平台的 RID。
表示具体操作系统的 RID 通常遵循以下模式: [os].[version]-[arch] ,其中:
RID 图形是在名为 runtime.json 的文件中名为 Microsoft.NETCore.Platforms 的包中定义的,请参见 CoreFX repo 。 如果使用此文件,你将注意到,某些 RID 中具有 "#import" 语句。 这些语句是兼容性语句。 这意味着其中已导入 RID 的 RID 可以作为该 RID 还原包的目标。 看上去有点混乱,让我们看一个示例。 我们来看一看 macOS:
上述 RID 指定 osx.10.11-x64 导入 osx.10.10-x64 。 这意味着,当还原包时,NuGet 将能够还原指定在 osx.10.11-x64 上需要 osx.10.10-x64 的所有包。
一个稍微大点的示例 RID 关系图:
所有 RID 最终都会映射回根 any RID。
虽然看起来使用相当容易,但仍有几件关于 RID 的特殊事项,在你使用它们的时候需要牢记:
若要使用 RID,必须知道有哪些 RID。 新的 RID 将定期添加到该平台。 有关最新版本,请查看 CoreFX 存储库上的 runtime.json 文件。
❺ Rid5的介绍
RAID 5 是一种兼顾存储性能、数据安全和存储成本的存储解决方案。 以四个硬盘组成的RAID 5为例,其数据存储方式如图所示:图中,P0为D0,D1和D2的奇偶校验信息,其它以此类推。由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
❻ 怎么手工配置rid
RAID分多种
参考:
RAID方案有两种,一种是硬件RAID解决方案,一种是软RAID解决方案。
硬件RAID解决方案
1、RAID0
RAID0是最早出现的RAID模式,即DataStripping数据分条技术。RAID0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID0没有提供冗余或错误修复能力,但实现成本是最低的。
RAID0示意图
RAID0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。
为了解决这一问题,便出现了RAID0的另一种模式。即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的四块硬盘中同时进行读写。四块硬盘的并行操作使同一时间内磁盘读写的速度提升了4倍。
在创建带区集时,合理的选择带区的大小非常重要。如果带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数的一、两块硬盘上,不能充分的发挥出并行操作的优势。另一方面,如果带区过小,任何I/O指令都可能引发大量的读写操作,占用过多的控制器总线带宽。因此,在创建带区集时,我们应当根据实际应用的需要,慎重的选择带区的大小。
带区集虽然可以把数据均匀的分配到所有的磁盘上进行读写。但如果我们把所有的硬盘都连接到一个控制器上的话,可能会带来潜在的危害。这是因为当我们频繁进行读写操作时,很容易使控制器或总线的负荷超载。为了避免出现上述问题,建议用户可以使用多个磁盘控制器。最好解决方法还是为每一块硬盘都配备一个专门的磁盘控制器。
虽然RAID0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。所以,RAID0一般只是在那些对数据安全性要求不高的情况下才被人们使用。
2、RAID1
RA
RAID1示意图
ID1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID1多用在保存关键性的重要数据的场合。
RAID1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。
3、RAID0+1
从RA
RAID0+1示意图
ID0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID1也会出现类似单独使用RAID0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。
4、RAID:LSIMegaRAID、Nytro和Syncro
MegaRAID、Nytro和Syncro都是LSI针对RAID而推出的解决方案,并且一直在创造更新。
LSIMegaRAID的主要定位是保护数据,通过高性能、高可靠的RAID控制器功能,为数据提供高级别的保护。LSIMegaRAID在业界有口皆碑。
LSINytro的主要定位是数据加速,它充分利用当今备受追捧的闪存技术,极大地提高数据I/O速度。LSINytro包括三个系列:LSINytroWarpDrive加速卡、LSINytroXD应用加速存储解决方案和LSINytroMegaRAID应用加速卡。NytroMegaRAID主要用于DAS环境,NytroWarpDrive加速卡主要用于SAN和NAS环境,NytroXD解决方案由NytroWarpDrive加速卡和NytroXD智能高速缓存软件两部分构成。
LSISyncro的定位主要用于数据共享,提高系统的可用性、可扩展性,降低成本。
LSI通过MegaRAID提供基本的可靠性保障;通过Nytro实现加速;通过Syncro突破容量瓶颈,让价格低廉的存储解决方案可以大规模扩展,并且进一步提高可靠性。
5、RAID2:带海明码校验
从概念上讲,RAID2同RAID3类似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。然而RAID2使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。因此,在商业环境中很少使用。下图左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。
6、RAID3:带奇偶校验码的并行传送
这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID2,RAID3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
7、RAID4:带奇偶校验码的独立磁盘结构
RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点和RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。
8、RAID5:分布式奇偶校验的独立磁盘结构
从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
9、RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构
名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。
10、RAID7:优化的高速数据传送磁盘结构
RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。
11、RAID10:高可靠性与高效磁盘结构
这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于数据容量不大,但要求速度和差错控制的数据库中。
12、RAID53:高效数据传送磁盘结构
越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。