rapidfx: переводы
Database Support in Inferno / Поддержка баз данных в Inferno
→This combination should be sufficient to allow a developer to write trial applications. Future releases of Inferno may include new versions of the DB module and additional database server programs (to improve efficiency and security, for instance), but applications written to the current API should not need to be changed.
0 Эта комбинация должна быть достаточной для того, чтобы позволить разработчику написать пробные приложения. Будущие выпуски Inferno могут содержать новые версии модуля DB дополнительные программы-серверы баз данных (например, для увеличения производительности и безпасности), но приложения написанные с использованием текущего API не потребуют изменений.
→The "standard" database application included in Inferno Release 1.0 is an ODBC application that runs on Windows 95 and Windows NT and talks to the DB module (no intermediate hosted Inferno is needed). This program, called infdb, will support simultaneous connections from multiple Inferno processes to the same, or different, databases.
0 Приложение баз данных "стандарт" включено в выпуск 1.0 это приложение ODBC которое запускается на Windows 95 и Windows NT и общается с модулем DB (нет необходимости в Inferno поверх основной ОС). Эта программа, называемая infdb, поддерживает синхронные соединения от нескольких Inferno-процессов к одной или разным базам данных.
→Release 1.0 of Inferno includes a DB module with the complete API described above, except that it doesn't have the ability to update binary data fields.
0 Выпуск Inferno 1.0 включает модуль DB с API полностью описанным выше, за исключением того, что там нет возможности обновления полей двоичного типа.
→This standard method for accessing database from Inferno involves several different software processes and interprocess communications methods. There are ways to improve the efficiency of database access where large amounts of data are transferred for each transaction, and the Inferno team is actively pursuing this. But, since all the changes will be to the remote access piece and will not affect the APIs, applications written today against the DB API will not even need to be recompiled to run when these improvements are put in place. Inferno 1.0
0 Стандартный метод для доступа к базам данных из Inferno задействует разные программные процессы и методы межпроцессных коммуникаций. Существуют способы увеличивающие эффективность доступа к базам данных содержащих большой объем данных передающихся в каждой транзакции, и команда разработчиков Inferno преследует эту цель. Но все изменения должны быть на удаленном конце и не затрагивать API, приложения написанные сегодня в сравнении DB API не нужно будет перекомпилировать, когда будут внесены улучшения.
Inferno 1.0
Inferno 1.0
→There is a hosted Inferno on the database platform to serve the special files representing the database to the DB module. There are quotes around "standard" in the Database App. box because even though this application is the same for all databases under this DBMS on this platform, it must be different for different DBMSs, and must be ported to each platform where support for a particular DBMS/database is needed. (The DBMS/database could actually be on some other platform the details of the connection from the database application to it are hidden by vendor code bound into the application.)
0 В случае установки Inferno поверх основной ОС на платформе базы данных для обслуживания специальных файлов представляющих базу данных в модуле DB. Кавычки вокруг квадрата "Стандарт" в приложении базы данных, оно должно отличаться для различных СУБД, и должны быть портированы на каждую платформу поддерживающую каждую СУБД/базу данных. (СУБД/база данных в действительности единой на разных платформах, детали соединения скрыты о приложения, производителем кода встроенного в приложение.)
→For Inferno support of a database, the generic architecture is:
0 Общая архитектура для поддержки баз данных в Inferno, такова:
→The net result of all this is that database applications are connected to the database via some opaque glue which is supplied by the DBMS vendor, and are typically written in C language, perhaps requiring a preprocessing step before compilation.
0 Суть вышесказанного, в том, что приложения баз данных соединены с базами данных через некий прозрачный клей, который предоставлен производителем СУБД, и обычно написан на языке C, и верояно потребуется запуск препроцессора перед компиляцией.
→Vendors have also lately begun to supply servers to allow databases supported by their DBMS to be accessed by client applications over a network. Again unfortunately, the protocols used by these servers are proprietary.
0 Производители также поздно начали поддерживать серверы позволяющие обращаться клиентским приложениям к их СУБД по сети. И снова, к несчастью, протоколы используемые этими серверами закрытые.
→A common instance of a CLI is the Open Database Connectivity (ODBC) interface, running on various Microsoft Windows platforms. ODBC is not tied to any particular DBMS, but depends on DBMS vendors to provide a driver, in the form of a dynamically loadable library that supports a prescribed set of APIs. Since there are now such drivers for most major DBMSs, ODBC provides an "almost universal" database access, as long as one sticks to the lowest conformance levels for both ODBC and SQL.
0 Общим примером CLI является интерфейс Open Database Connectivity (ODBC), работающий на различных платформах Microsoft Windows. ODBC не ограничен конкретными СУБД, но зависит от производителей СУБД которые должны написать драйвер, в форме динамически загружаемой библиотеки поддерживающей предопределенный набор API. На текущий момент такие драйвера есть для большинства СУБД, ODBC предоставляет "практически универсальный" доступ к базам данных, пока есть соглашение на самом низком уровне между ODBC и SQL.
→Finally, vendors have not hesitated to provide proprietary extensions to SQL and to their CLIs.
0 И наконец, производители не стеснялись предоставлять закрытые проприетарные расширения к SQL и их CLI.
→In addition, there are several programmatic interfaces to SQL, including static and dynamic embedded SQL and call level interface (CLI). The former are techniques for embedding SQL statements within other languages, calling for the use of a preprocessor. The difference between the static and dynamic versions is that in the former, the SQL statements are fixed at compile time, while in the latter they can be constructed at run time. A CLI is a set of APIs supported by a function library.
0 В лобавок, существует несколько рограммных интерфейсов к SQL, включая статические и динамические встроенные SQL и интерфейсы уровня вызова (CLI). Основатель (образующее основание/основа) техник встроенных выражений SQL в других языках, вызывает для использования препроцессор. Различия между статической и динамической версиями в том, что основатель, SQL выражения неизменны во время компиляции, в то же время они могут создаваться во время выполнения. CLI это набор API поддерживаемый библиотекой функций.
→Unfortunately, SQL is an evolving standard. The original standard was adopted in 1986, there is an SQL 89, the current SQL 92, and another in the works. While the changes are upward-compatible, different releases of the various vendor's DBMSs support different standards.
0 К несчастью, SQL это эволюционизирующий стандарт. Начальный чтандарт был принят в 1986, затем был SQL 89, текущий SQL 92, и новый находится в работе. Пока изменения, обратно-совместимы, различные выпуски разных производителей СУБД поддерживают разные стандарты.
→The second bullet arises from the historic interplay between the desire of vendors for product differentiation and the desire of users for standardization. Structured Query Language (SQL) is an early, and continuing, effort to standardize the syntax and semantics of messages between database applications and DBMSs. The majority of commercial DBMSs now support SQL.
0 Второй аспект проистекает из исторической драмы разыгрывающейся между производителями с их желаниями к специализации и желанием пользователей к стандартизации. SQL это давний, продолжающий развиваться язык, борющийся за стандартизацию синтаксиса и семантики сообщений передаваемых между приложениями баз данных и СУБД. Большинство коммерческих СУБД сегодня поддерживают SQL.
→the diversity of existing DBMS products makes it difficult to write generic database access programs.
0 разновидности существующих СУБД затрудняют написание общей программы для доступа к базам данных.
→existing DBMSs run on platforms other than Inferno, and
0 существующие СУБД работают на платформах отличных от Inferno, и
→The second piece of software provided for Inferno support of databases is the server. The application programmer does not interface directly with the server, which hides the complexity of retrieving data from real databases. This complexity is because:
0 Вторая часть программного обеспечения предоставляемого Inferno для поддержки баз данных это сервер. Разработчик не должен напрямую взаимодействовать с сервером, который скрывает все сложности получения данных из настоящих баз.
Это сложно потому что:
Это сложно потому что:
→The advantage of this implementation is that the data being sent back and forth from client to server is encapsulated in Styx packets, so the security features of the Styx protocol may be used. The Server Module
0 Преимущества такой реализации в том, что данные отсылаются взад и вперед от клиента к серверу, инкапсулированными в пакеты Styx, таким образом могут использоваться все достоинства безопасности протокола Styx.
Модуль Server
Модуль Server
→Closely paralleling the API, the served files are: ctl, SQL, cols, row, entry, and title. The ctl file is used only to send the user name, password, and database name to the remote end. The SQL file is used to write SQL requests to the far side, and the remaining files are used to implement the remaining APIs. For instance, to implement the read function, the specified column number is written to the cols file, and then the entry file is read, up to an end-of-file, to get the value of the field in that column of the current row.
0 Плотно связанный с API, обслуживаемые файлы это: ctl, SQL, cols, row, entry, and title. Файл ctl используется только для отправки имени пользователя, пароля и имени базы данных удаленном у концу. Файл SQL используется для записи запросов SQL для удаленной стороны, а оставшиеся файлы используются для реализации соответствующих API. Например, для реалтзации функции чтения, указанный номер колонки записывается в файл cols, и после этого считывается файл entry, до конца файла (eof), для получения значенийполей в колонке текущей строки.
→The DB module makes direct use of Inferno's name space concepts to implement its simple design. In particular, the open function opens a network connection to the specified service at the specified network address. By mounting the connection on a directory in the local name space, the remote end is set to "serve" files in that directory. Following the open, the served files support the functions of the API, or if the programmer prefers, can be read from of written to directly via file descriptors in the DB_Handle adt.
0 Модуль DB позволяетнапрямую использовать концепцию пространства имен Inferno для реализации простого дизайна. В общем, функция open открывает сетевое соединение к указанному сервису, путем указания сетевого адреса. При помощи монтирования директории в локальное пространство имен, в этой директории удаленный конец является набором файлов для "обслуживания". Затем за open, обслуживаемые файлв получают поддержку API, или если программист предпочтет, то может читать или писать напрямую через файловые дескрипторы в adt DB_Handle.
→Database application developers can build more complex and specialized functions out of these generic and lower-level functions. Module details
0 Разработчики приложений баз данных могут разрабатывать более сложные и специализированные функции вместо этих общих и низко-уровневых функций.
Подробнее о модуле
Подробнее о модуле
Резюме
- Пол:
- мужчина
- Родной язык:
- русский
- С нами:
- с 13 апреля 2009 г. (6395 дней)
- Деятельность:
-
1085 версий перевода
с общим рейтингом 0
3 комментария
Карма: 2 (оценок: 2)
