一直觉得云计算是一个云里雾里的东西,感觉离我们很远,前两天收到CSDN的杂志增刊《凌云》,主题就是阿里云的介绍,国内云计算发展也很迅速,感觉还是阿里云做的比较专业,今天就感受了一下云端的那些小秘密。

本人是搞ArcGIS的,偏重于ArcSDE,那么我就对如何将ArcSDE部署在云端非常感兴趣,下面就将今天的所作所为给大家汇报一下:

1:进入阿里云网站,注册信息

2:阿里云服务比较多,我试用的是关系型数据库RDS服务,该服务目前只支持MySQL和SQLServer(2005、2008、2008R2),填写完需要的硬件配置,等一段时间,邮件和短信会通知你已经申请成功。

3:申请完毕之后,你就可以管理你的云端的SQL Server了



下面是已经创建好了一个数据库:db002k7xhw450u4t,剩下的sde数据库是右上角的增加数据库添加的


下图是默认给你创建了一个帐号:db002k7xhw450u4t,该帐号和数据库同名,密码可以结合手机短信重置。

特别注意:阿里云不会给用户sa用户和拥有dba权限的帐号,这些帐号都是普通用户,这一点为我们ArcSDE的创建形成了阻碍。



我们可以看到详情与配置包含实例名、端口号、连接数等信息,默认情况下是内网地址,点击右上角的切换到外网,用户可以自定义().sqlserver.rds.aliyuncs.com,那么我自定义的就是cloudarcsde,外网地址的好处就相当于开放了一个IP地址,我们使用ping ****,就可以看到相关的IP地址,帮助上说这个地址是固定的。

那么有了地址,有了实例名,有了端口号,我们就可以在自己的SQL Server客户端来访问云端的SQL Server数据库了。


我们上就是直接使用了IP地址,具体的服务器名称应该是:外网地址\实例名,端口号

登录名和密码上面都有。


上面都了解了,我们就可以使用arcGIS Desktop10.1来创建ArcSDE Geodatabase了,我非常欢喜的打开桌面,打开GP工具,打开对话框,一个参数把我给难住了


这个参数需要数据库的管理员,但是前面说了阿里云不提供sa或者具体dba的用户(与阿里的售后电话和邮件沟通过了)


硬着头皮上,结果肯定是不对的


而且这个云端数据库也不支持操作系统认证,而且我直接进入云端数据库,也不能创建相关的用户和数据库,所有路都给堵住了。

当阿里云遇到ArcSDE,一个尴尬的邂逅啊。

-----------------------------------------------------------------------------

******************更新至2014-05-15*****************************

一直想修改这个问题,没有时间或者忘记,现在补上。

该文章说明了阿里云不允许用户提供云数据库的sa用户和密码,但是可以提供创建其他用户的权限,所以,ArcGIS10.1还有一个Enable Enterprise Geodatabase,先创建好sde用户、数据库、赋予sde用户权限,然后使用该工具启用地理数据库即可。所以如果用户不提供sa或者sys(Oracle)密码也是可以创建企业级地理数据库的.


******************更新至2014-06-12*****************************

最近一直在研究WIndow Azure,看到帮助上这样写

Database requirements/limitations

  • ArcGIS geodatabases are not supported with Windows Azure SQL Database.
  • Connections to Windows Azure SQL databases, including access to spatial data type fields, are supported.

既然ArcGIS不支持微软云的创建Geodatabase ,那么在阿里云这快是否支持还是个未知数,感兴趣的读者可以在测试一下吧


-----------------------------------------------------------------------------


不过,现在ArcGIS10.1支持数据库native 存储的空间数据,也就是支持Geometry和geography存储,所以,我直接在数据库里面创建表,添加数据即可。

需要了解SQL Server的native空间存储:http://blog.csdn.net/linghe301/article/details/6315712

创建表

//如果是Geogrphy存储就替换一下即可
CREATE TABLE SpatialTable1
( id int IDENTITY (1,1),
GeomCol1 geometry,
GeomCol2 AS GeomCol1.STAsText() );
GO
添加数据
use db002k7xhw450u4t


SET IDENTITY_INSERT SpatialTable1 ON
go
INSERT INTO SpatialTable1 (GeomCol1,id)
VALUES (geometry::STGeomFromText('POLYGON ((0 0, 0 150, 150 150, 150 0, 0 0))', 0),1);
GO

使用ArcMap连接


那么在ArcMap也可以看到相关的图形,可惜的是不是存储在ArcSDE里面。



有可能的解决方法:阿里云支持接收本地数据文件导入到云端数据库,但是问题处理了,数据迁移本来就是一个很复杂的工程,而且在使用云端数据库不清楚具体的SQL Server的版本号包括补丁什么的,版本不一致迁移肯定要出问题。还有这个SDE数据库用户,这个用户不仅仅是一个普通用户,它是有相关权限的,但是这个不知道阿里是怎么设计的,我很纳闷,因为我已经咨询过,即使是付费用户也不能得到数据库的dba用户,那么我使用这个怎么对数据库进行管理呢?


前面遇到了一些问题,我还是不死心,索性就直接申请一下阿里云的云服务器试用。

申请完毕之后,可以看到如下界面:


这里最关键的提供了相关的内外网的IP,我申请的是Windows操作系统,管理员帐号,设置相关密码,我们就可以通过Windows自带的远程登录界面登录即可。

然后可以上传相关的数据库软件,或者可以直接在云端服务下载。然后就像操作你的虚拟机或者远程服务器一样来创建SDE库了。


注意:以上IP已经过了5天期限

因为这些数据库都是自己在云端服务器上传和安装的,所以不存在前面的dba用户的问题,但是由于网络的原因,在创建SDE库整整花费了13分钟。

Executing: CreateEnterpriseGeodatabase Oracle 42.96.171.214/orcl:1521 # DATABASE_AUTH sys ***** SDE_SCHEMA sde ***** sde "E:\个人资料\破解文件\ArcGIS Server 10.1 none.ecp"
Start Time: Thu Mar 21 14:17:06 2013
User has privileges required to create database objects.
Tablespace created.
Geodatabase admin user created.
Validated authorization file.
User has required privileges for geodatabase setup.
XML support is enabled for the database instance.
Created geodatabase tables and stored procedures.
Finished creating geodatabase schema.
The ST_Geometry shape library path may be invalid, or the EXTPROC is not configured correctly in the Oracle instance. [ (Unable to determine current version of ST_SHAPELIB. The latest ST_GEOMETRY and dependent libraries need to be copied to the correct software location. Refer to the ArcGIS help topics for more details.
)]
Succeeded at Thu Mar 21 14:30:03 2013 (Elapsed Time: 12 minutes 57 seconds)
除了网络传输的速度问题,其他都还可以。




不过个人还是感觉阿里云做的挺不错的,个人这次体验了关系型数据库RDS和云服务器两种云端服务,性能还是不错的,与亚马逊云相比,中文的界面显得非常亲切,而且也比较容易上手,这些云服务节省了购买硬件已经维护服务器的成本,使用户将更多的时间可以花费在业务功能实现以及前端的界面渲染,这对小型的创业公司是一个很好的福音!


 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
-------------------------------------------------------------------------------------------------------

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐