Interested Article - Трёхуровневая архитектура
- 2020-04-27
- 1
Untitled
"7 — объект страницы с учетом полученных данных осуществляет рендеринг графического интерфейса страницы и направляет результаты в выходной поток" - рендеринг?!? этим всё-таки занимается браузер. может, всё-таки " генерацию элементов страницы"? Tw 95.27.177.149 04:09, 11 марта 2010 (UTC)
На иллюстрации показан неэффективный вариант работы с базой данных. Для получения числа продаж за год приложение среднего уровня запрашивает у базы данных весь объем записей обо всех продажах за год, затем циклом считает строки, примерно так (нотация PHP/Oracle):
… $conn = oci_connect(…); $sql = “select * from sales where sale_date between trunc(sysdate, ‘year’) and sysdate”; $curs = oci_parse($conn, $sql); oci_execute($curs); $i = 0; while(oci_fetch($curs)) { $i++; } echo($i); oci_free_statement($curs); oci_close($conn); …
Существенно эффективнее для данного примера запросить у базы данных сразу окончательное значение:
… $conn = oci_connect(…); $sql = “select count(*) from sales where sale_date between trunc(sysdate, ‘year’) and sysdate”; $curs = oci_parse($conn, $sql); oci_execute($curs); oci_fetch($curs); $i = oci_result($curs, 1); echo($i); oci_free_statement($curs); oci_close($conn); …
К сожалению, этот пример носит мировоззренческий характер. Именно тезис о том, что обработку информации следует вести на среднем уровне, а база данных должна использоваться лишь как хранилище, часто приводит к появлению информационных систем с производительностью, непропорционально быстро убывающей по мере роста объема хранимых данных. 83.68.33.22 13:15, 28 ноября 2012 (UTC)
tier - физическое разделение layer - логическое
приложение может быть одно звенное (tier) 3х уровневое (layer)
уровень Mapping (mapping layer) уровень BLL (biusnes logic layer) уровень View (view layer)
когда нет разделения между процессами (не потоками) то это одно и то же звено, но не уровень
Автор сообщения: 11:43, 23 сентября 2010 (UTC)
- 2020-04-27
- 1