2019-06-12
①Realm是直接在移动设备中运行的数据库,不只可以在Android中使用,还可以在苹果手机、Windows Phone上面使用。
②Realm并没有基于任何的现成数据库,它是一个重新研发的数据库。
③Realm数据库不需要使用sql语句就可以操控它。
④同时支持Java,Object-C,swift,Javascript,.net等开发语言,支持IOS,Android,JavaScript,Xamarin等平台。
orm框架本质上就是使用某种存储引擎的一个第三方程序库,它可以提供一个现代的、功能多样的方式来访问你的数据层,从而降低我们实际书写sql语句的复杂度,但这种第三方库仍然需要把本地数据结构转化为某种数据格式从而执行背后的sql查询,然后把数据转化为sql表一行。如果使用的是成熟的om库,那么它几乎总是在进行大量的后台运行操作,orm会持续地将你的对象转化为中间格式,然后运行sql语句来与SQLLITE打交道,orm所做的工作就是把这些复杂的操作隐藏在简单的api之下,所以我们使用orm的时候,它会大量地消耗掉CPU和磁盘的性能,这就是使用orm框架去进行数据库操作时所花费的时间永远会比使用sql语句花费的时间长的原因。
而对于Realm数据库来说,它会直接把一个对象存储在一个磁盘中,所以说能从内存到磁盘非常快速地去操作对象,并且Realm是一个直接存储的对象,它不需要再把数据转化成对象操作,所以对于Realm来说,它也不需要去使用orm框架,其本身就可以执行类似于orm的操作。
①Realm是直接在移动设备中运行的数据库,不只可以在Android中使用,还可以在苹果手机、Windows Phone上面使用。
②Realm并没有基于任何的现成数据库,它是一个重新研发的数据库。
③Realm数据库不需要使用sql语句就可以操控它。
④同时支持Java,Object-C,swift,Javascript,.net等开发语言,支持IOS,Android,JavaScript,Xamarin等平台。
orm框架本质上就是使用某种存储引擎的一个第三方程序库,它可以提供一个现代的、功能多样的方式来访问你的数据层,从而降低我们实际书写sql语句的复杂度,但这种第三方库仍然需要把本地数据结构转化为某种数据格式从而执行背后的sql查询,然后把数据转化为sql表一行。如果使用的是成熟的om库,那么它几乎总是在进行大量的后台运行操作,orm会持续地将你的对象转化为中间格式,然后运行sql语句来与SQLLITE打交道,orm所做的工作就是把这些复杂的操作隐藏在简单的api之下,所以我们使用orm的时候,它会大量地消耗掉CPU和磁盘的性能,这就是使用orm框架去进行数据库操作时所花费的时间永远会比使用sql语句花费的时间长的原因。
而对于Realm数据库来说,它会直接把一个对象存储在一个磁盘中,所以说能从内存到磁盘非常快速地去操作对象,并且Realm是一个直接存储的对象,它不需要再把数据转化成对象操作,所以对于Realm来说,它也不需要去使用orm框架,其本身就可以执行类似于orm的操作。