简体   繁体   English

复制SQL Azure数据库的完成延迟?

[英]Completion latency to copy a SQL Azure database?

I am wondering about how much times it takes to complete a database copy over SQL Azure. 我想知道通过SQL Azure完成数据库副本需要多少时间。 I am considering a scenario where : 我正在考虑以下情况:

  1. a single database is populated first, and then stay read-only. 首先填充一个数据库,然后保持只读状态。
  2. a set of copies are created. 将创建一组副本。
  3. an embarrassingly task gets paralleled over each copy (read-only). 一个尴尬的任务在每个副本上都是并行的(只读)。
  4. copies are deleted to lower hosting cost. 副本被删除以降低托管成本。

Such a scenario makes sense if the database copy on SQL Azure is reasonably fast. 如果SQL Azure上的数据库副本相当快,则这种情况很有意义。

Does anyone has some information concerning the latency to complete a copy of an SQL Azure Database, maybe w/o of the GB size of the database (assuming that smaller DB get copied faster than big ones)? 是否有人拥有有关完成SQL Azure数据库副本的等待时间的信息,也许没有数据库GB的大小(假设较小的DB的复制速度比大型DB的复制速度快)?

Subsidiary question: if 10 copies of the DB are triggered at the same time, will it takes 10x more time to complete the 10th copy? 附属问题:如果同时触发10个数据库副本,那么完成第10个副本是否需要10倍以上的时间? or does SQL Azure support some level of parallelization for such an operation. SQL Azure是否支持此类操作的某种程度的并行化。

I have no empirical numbers for how long it takes to copy DBs of various sizes, but in my experience the time is usually minutes. 对于复制各种大小的数据库需要多长时间,我没有经验数据,但是根据我的经验,时间通常只有几分钟。 For the DBs that I regularly work with which are less than 100MB I allow 5 minutes, but this is probably quite generous. 对于我经常使用的小于100MB的DB,我允许5分钟,但这可能是相当慷慨的。 I've occasionally copied larger databases and it doesn't seem to take much larger than that, I suspect a lot of the time is actually spent provisioning the new database rather than copying data. 我偶尔复制了较大的数据库,但看起来并没有比这大得多,我怀疑实际上有很多时间花在配置新数据库而不是复制数据上。

I'm taking a guess at what would happen if you initiated multiple copies, but because of the SQL Azure infrastructure I'd be surprised if there was much of a slowdown if multiple copies were initiated at the same time. 我猜测如果您启动多个副本会发生什么,但是由于SQL Azure基础结构,如果同时启动多个副本会导致运行速度大大降低,我会感到惊讶。

I don't know how long you want the whole process to take, but I think it's basically a good idea. 我不知道您希望整个过程花费多长时间,但是我认为这基本上是一个好主意。 I'd highly recommend doing some of your own benchmarking though. 我会强烈建议做一些你自己的标杆,虽然。

I've found it particularly slow. 我发现它特别慢。 I just copied a tiny 3.45MB database, and it took in excess of 5 minutes. 我只复制了一个3.45MB的小型数据库,它花费了超过5分钟的时间。 It started 6:42, finished 6:49. 它开始于6:42,结束于6:49。

This was just using the SQL command line create with copy. 这只是使用带有复制的SQL命令行创建。 Eg: 例如:

CREATE DATABASE NewDB AS COPY OF OldDB;

I'm not sure what the deal was - whenever I went to check progress, it wasn't showing anything, then suddenly it was just done. 我不确定这笔交易是什么-每当我去检查进度时,它什么都没有显示,然后突然就完成了。

Eg: 例如:

SELECT * FROM sys.dm_database_copies c
JOIN sys.databases d ON c.database_id = d.database_id
WHERE databases.name = 'NewDB';

The percent_complete column was null each time I looked. 每次查看时,percent_complete列均为null。 I was actually concerned I'd done something wrong... 我实际上担心自己做错了什么...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM