我正在阅读专业的nosql书,并且有一个不同的nosql db访问方法的列表,但我不知道rdbms中的访问方法是什么? odbc / jdbc及其驱动程序被视为访问方法?
或ado.net,linq to sql,实体框架工作,是否算作访问方法?
ado.net/linq与sql / entity框架和odbc / jdbc有什么区别,我的意思是它们都用来访问数据库,所以它们有什么不同?
我的另一个问题是为什么cant thrift / avro / rest / protobuf与rdbms一起使用,它们是服务,为什么它们只用于nosql dbs?
答案 0 :(得分:0)
听起来很像你的另一个问题,至少有75%: - )
ado.net/linq与sql / entity框架和odbc / jdbc有什么区别,我的意思是它们都用来访问数据库,所以它们有什么不同?
他们在几个方面有所不同。首先,某些DBMS通常只支持几种连接方式。一些更少,更多,它在很大程度上取决于DBMS。接下来,您列出的某些方法(如LINQ)并非在所有环境中都可用。例如,采用一些不基于.NET技术的任意编程语言,LINQ不再是一种选择。
我的另一个问题是为什么cant thrift / avro / rest / protobuf与rdbms一起使用,它们是服务,
不,这些不是服务。它们是进行远程过程调用的机制。 RPC可以是任何东西,包括数据库查询,但不限于此。 DB可以被视为服务,以及thrift / avro / rest / protobuf /等。是您可以访问这些服务的方式。但同样,每个DBMS通常只支持几种选择的方式。有些数据库只能由特定的专用数据库客户端库访问,如ESENT。
为什么它们只与nosql dbs一起使用?
因为DBMS不支持它。