【发布时间】:2016-02-04 04:59:51
【问题描述】:
大家好,我是服务器端技术的新手,所以也许这是一个有点愚蠢的问题,但是在阅读了几十篇文章和观看了几十个视频之后,我仍然很困惑。这与现代应用的架构原则有关。
关系模型: 我知道几年前的模型是有一个数据库(主要是关系型的)和一个 DBMS 来实现应用程序和数据库之间的连接。
问题 1:既然我们谈论的是关系模型,那么一些 DBMS 的例子是 MySQL 还是 PostgreSQL? 问题二:信息交流的过程是怎样的?客户端使用PHP之类的语言向服务器发出请求,然后DBMS将请求转换为SQL并访问数据库?是否需要将 PHP 转换为 DBMS 功能的 SQL 部分或其他服务器端软件? (如果有人能给我简要的详细解释,我将非常感激)
非关系模型:
问题 2:如今随着 NoSQL 模型的兴起,DBMS 的相同概念是否适用?既然这些系统允许SQL以外的其他查询语言,应该有一些软件有这个功能?
面向服务的架构: 几乎每个应用程序都使用这种类型的架构。我理解避免在客户端和服务器端之间创建过于紧密的软件关系的概念,从而允许跨多个平台多次使用。我不明白的是,哪些部分构成了以这种方式构建的系统。
问题 3:DBMS 是否提供构成可用 Web 服务的 API?
网络框架: 最后但并非最不重要的一点是,Django 或 Ruby on Rails 等框架在哪里落地?
问题 4:它们应该提供工具来开发 SOA 系统的前端和数据库之间的一切,对吗?
问题 5:我看到很多关于 REST 架构的讨论。你能解释一下发生的查询过程以及所涉及的软件实体是什么。
提前感谢您提供的任何解释,帮助我理解这些问题。请提供一些您认为有用的链接或图表。
【问题讨论】:
-
对象关系映射 (ORM) 是一整类工具,介绍如何从数据库中的数据到代码中的对象,它有多种做事方式:Hibernate、Linq2Sql、实体框架等。en.wikipedia.org/wiki/Object-relational_mapping 将是维基百科的链接,让你开始走上这条黄砖路。
标签: sql rest soa web-frameworks nosql