Windows Azure的資料存放區和效能比較(二)

來源:互聯網
上載者:User

2、 Table儲存:它是以Key-Value的形式儲存資料,每條記錄允許的最大大小為4MB,記錄的行數沒有限制。

(1)    Entity操作。Entity的操作是在從CloudTableClient得到的TableServiceContext(繼承自DataServiceContext)上進行的。添加、更新和刪除分別調用AddObject()、UpdateOjbect()和DeleteObject()方法,其中只有AddObject方法需要指定操作的表名稱,調用這些方法進行Entity操作後,都需要調用SaveChanage()方法儲存操作結果。

 

新增Entity的樣本:

            CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;            CloudTableClient tableclient = storageAccount.CreateCloudTableClient();            tableclient.CreateTableIfNotExist("tabletest");            TableServiceContext context = tableclient.GetDataServiceContext();            context.AddObject("tabletest", new PersonInfo() { PersonID = "0", Name = "Tom", Age = 20 });            context.AddObject("tabletest", new PersonInfo() { PersonID = "1", Name = "Jerry", Age = 25 });            context.SaveChanges();

(2)    Table記錄查詢。Table查詢是調用TableServiceContext的CreateQuery()方法,使用LINQ語句執行的查詢。

Table查詢樣本:

            CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;            CloudTableClient tableclient = storageAccount.CreateCloudTableClient();            tableclient.CreateTableIfNotExist("tabletest");            TableServiceContext context = tableclient.GetDataServiceContext();            var query = context.CreateQuery<PersonInfo>("tabletest").Where(c => c.PersonID == "1").ToList();            var info = query.FirstOrDefault();

 

以上範例程式碼中用到的PersonInfo類型定義。

 

    public class PersonInfo : TableServiceEntity    {        public string PersonID        {            get { return this.RowKey; }            set { this.RowKey = value; }        }        public string Name { get; set; }        public int Age { get; set; }        public PersonInfo()        {            this.PartitionKey = "PartKey";        }    }

 

(3)    Table操作效能曲線

a.新增、更新和刪除記錄的效能曲線如。可以分析得知操作的記錄數和消耗時間是線性關係,但是100條資料就需要將近20秒的時間,有點可怕啊(這可能和操作的記錄大小和WebRole部署的雲端服務器所處位置都有一定關係)。

 

b.查詢效能曲線如,查詢的效能似乎還令人欣慰。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.