Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 来快速创建自定义的镜像,本文会介绍使用 Dockerfile 的一些最佳实践。
基本结构
Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。主体内容分为四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令。
下面给出一个简单的示例:
1 | # escape=\ (backslash) |
Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 来快速创建自定义的镜像,本文会介绍使用 Dockerfile 的一些最佳实践。
Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。主体内容分为四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令。
下面给出一个简单的示例:
1 | # escape=\ (backslash) |
This chapter presents the application developer’s view of SAP HANA. It gives an overview of both the programming languages for writing code that runs inside SAP HANA, and the client libraries used by client applications to connect to SAP HANA.
Database applications use well-defined interfaces to communicate with the database management system functioning as a data source, usually over a network connection.
The application, often running in the context of an application server, takes the role of a client, while the database system plays the role of a server. Client applications typically use vendor-supplied client libraries which implement part of the API and encapsulates the communication details.
The leading programming language for database application is the SQL. SQL provides functional capabilities for creating, accessing, maintaining, controlling, and protecting relational data.
SAP HANA greatly extends SQL. This includes SAP HANA-specific SQL statements, views, data types, and the possibility to write Procedures in several languages, such as SQLScript, L, C++ and R.Modeled Views are design-time abstractions that allow developers to work efficiently with SAP HANA’s extended views on a higher level of abstraction.
An alternative query language for clients is MDX. Pioneered by Microsoft, MDX is used by applications to query OLAP (OnLine Analytical Processing) data models. Applications can query graph data with the openCypher query language and implement custom graph algorithms as graph stored procedures.
The SAP HANA system consists of multiple servers:
The most important component is the index server. The index server contains the in-memory data stores and the engines for processing the data.
The name server owns the information about the topology of an SAP HANA system. In a distributed system, the name server knows where the components are running, and which data is located on which server.
In-memory database technology is a core feature of the SAP HANA database, which enables new applications that were not possible before.
In the past database management systems were designed for optimizing performance on hardware with limited main memory and with slow disk I/O as the main bottleneck. The focus was on optimizing disk access, for example by minimizing the number of disk pages to be read into main memory when processing a query.
Today’s computer architectures have changed. With multi-core processors, parallel processing is possible with fast communication between processor cores. Very large main memory configurations are now commercially available and affordable.
With all relevant data in memory, disk access is no longer a limiting factor for performance. With the increasing number of cores, CPUs are able to process more and more data per time interval. That means the performance bottleneck is now between the CPU cache and main memory.
A high performance data management system for modern hardware must have the following characteristics:
SAP HANA is a data management platform that is deploy as an appliance or in the cloud.
And its core is the SAP HANA database, an innovative in-memory database management system which makes full use of the capabilities of current hardware to increase application performance, to reduce cost of ownership and to enable new scenarios and applications that were not possible before.
The SAP HANA database is a hybrid database management system that combines several paradigms in one system. It includes a full relational database management system where individual tables can be stored column-based or row-based in memory, and column-based on disk.
It supports SQL, transactional isolation and recovery (ACID properties) and high availability. These capabilities are extended with the following features: