免疫力低下吃什么好| 吃开心果有什么好处和坏处| 手腕长痣代表什么意思| 推特为什么注册不了| 孩子咬手指甲是什么原因| 葡萄胎是什么原因造成的| 升血小板吃什么药| 虫毛读什么| 反流性咽喉炎吃什么药| 蝎子吃什么东西| 7月八号是什么星座| 剪短发什么发型好看| 自带bgm是什么意思| 居住证有什么用| 澈字五行属什么| 海棠花长什么样| 鼻炎是什么原因引起的| 画蛇添足的寓意是什么| 阖闾和夫差是什么关系| 精力是什么意思| 嗟是什么意思| 生灵涂炭是什么意思| 睡觉老是流口水是什么原因| 休克是什么| 二氧化碳高是什么原因| 痣长在什么地方不好| 吃什么能消除脂肪瘤| 珩字五行属什么| 肺泡是什么| 脖子上为什么会长丝状疣| 大枣吃多了有什么危害| 上海有什么景点| 什么地方能出生入死| 钥字五行属什么| 黄豆加什么打豆浆好喝又营养| 一事无成是什么生肖| 胃疼能吃什么水果| 什么叫菩提心| 减肥喝什么茶| 筋头巴脑是什么东西| 茶叶过期了有什么用途| 风水轮流转什么意思| 刷墙的白色涂料叫什么| 胃湿热吃什么药| 朱红色是什么颜色| 人生感悟是什么意思| 怀孕前三个月吃什么好| 大小姐是什么意思| 腰穿是什么意思| 蓝颜是什么意思| 什么是三伏贴| 性激素是什么意思| 丝瓜络是什么| 苦荞茶有什么功效| 手背上有痣代表什么| 嘚瑟是什么意思| 什么原因引起高血压| 小肚右边疼是什么原因| 卧蚕是什么意思| 脸红是什么大病的前兆| 惹上官司是犯了什么煞| 阴气重是什么意思| 喝啤酒尿多是什么原因| 什么斗艳| 两个山念什么| 喵喵喵是什么意思| 什么是拿铁| 口腔溃疡长什么样| 败血症吃什么药| 冷暴力是什么意思| 仓鼠怀孕有什么特征| 甲亢去医院挂什么科| other是什么意思| 肾小球肾炎吃什么药| 基尼是什么货币| cts是什么意思| 霸屏是什么意思| 衣柜放什么代替樟脑丸| 麦饭石是什么| 皮疹用什么药膏最好| 肺结节是什么引起的| 公积金缴存基数是什么| 地三鲜是什么| 黑科技是什么| 便血鲜红色无疼痛是什么原因| 韫字五行属什么| 生物指的是什么| cg什么意思| ra是什么| 推介会是什么意思| 坐飞机不能带什么东西| 蜜蜂蛰了用什么药| 果是什么意思| 牛的三合和六个合生肖是什么| 吃榴莲不能和什么一起吃| tin是什么| 再接再励是什么意思| 椰子什么时候成熟| 喝什么茶去火| 打白条是什么意思| 什么水果寒凉性| 什么人不适合做业务员| 欧巴什么意思| 骨头受伤了吃什么恢复的快| 下嘴唇跳动是什么原因| 红细胞计数偏高是什么意思| 九秩是什么意思| 十二月八号是什么星座| 牙疼吃什么药止疼最快| 皮肤擦伤用什么药最好| 为什么晚上不能晾衣服| 两个务必是什么| 三伏是什么时候| 姜薯是什么| 娃娃脸适合什么发型| 风生水起是什么意思| 凹是什么意思| 植物油是什么油| 吃酸的有什么好处| 三点水加邑念什么| 三顾茅庐什么意思| 女人胆固醇高什么原因| 雨花石是什么石头| 纳是什么意思| 头疼需要做什么检查| 干细胞移植是什么意思| 尿道炎用什么药治疗| 黑龙江有什么特产| 练瑜伽有什么好处| 六月二十三号是什么星座| 酸奶对人体有什么好处| 中午吃什么减肥| 为什么镜子不能对着床| 血管为什么是青色的| 多愁善感什么意思| paris是什么品牌| 右腹疼是什么原因| 城隍爷叫什么名字| 预警是什么意思| 梦见蛇吃人代表什么预兆| 宫颈管短是什么意思| 北京晚上有什么好玩的景点| 讲义气是什么意思| 生闷气是什么意思| 做糖耐前一天需要注意什么| 钾离子低的原因是什么| crs是什么| 瘦肉精是什么| c2m模式是什么意思| 8月初是什么星座| 红枣有什么功效| 扁桃体结石是什么原因引起的| 低血钾有什么症状| 梦见走错路是什么意思| 2000属什么生肖| 吃什么才能瘦下来| 易拉罐是什么垃圾| 霉菌性阴道炎用什么药| 什么叫生僻字| 七个月宝宝可以吃什么辅食| 肺炎吃什么药| 六月份适合种什么蔬菜| 急腹症是什么意思| 胃复安是什么药| 抑郁症是什么原因造成| 为什么叫985大学| 92年的属什么生肖| 减肥期间可以吃什么水果| 北顶娘娘庙求什么灵验| 朝是什么意思| 巨蟹座和什么星座最配| 魏征字什么| 小乌龟死了有什么预兆| 肺主治节是什么意思| 什么牌子的助听器好| 不走寻常路是什么意思| 足底麻木是什么原因| 什么的天空填合适的词| th什么意思| 夏天猪骨煲什么汤最好| 晒太阳有什么好处| 头发染什么颜色显皮肤白显年轻| 饺子包什么馅好吃| 普萘洛尔是什么药| 悸是什么意思| 焱字五行属什么| 什么样的土豆不能吃| 2023什么年| 什么原因造成高血压| 为什么警察叫条子| 什么是红外线| 04年的猴是什么命| 什么样的男人值得托付终身| 眼干是什么原因引起的| 风湿和类风湿有什么区别| 万兽之王是什么动物| 菩提萨婆诃是什么意思| 发乎情止乎礼什么意思| 18度穿什么衣服合适| 肝肾衰竭有什么症状| 得了肠胃炎吃什么最好| dsa检查是什么| 子宫纵隔什么意思| 两个人背靠背是什么牌子| 蛇鼠一窝是什么生肖| 大是大非是什么意思| 罗文和甄妮什么关系| 中国人的祖先是什么人| 吃什么止腹泻| 大白片是什么药| hpv跟tct有什么区别| 壁虎在家里是什么征兆| 什么学步成语| 迎春花什么时候开花| 名人轶事是什么意思| 血小板减少是什么原因造成的| 莲雾吃了有什么好处| 不想要孩子用什么办法最好| 毒龙是什么意思| 默然是什么意思| 做梦梦到自己拉屎是什么意思| 围棋九段是什么水平| 甲状腺球蛋白高是什么原因| 饶舌是什么意思| mojo是什么牌子| 什么是黑茶| 大便颗粒状是什么原因造成的| 腺癌是什么原因引起的| 拉k是什么意思| 2025年属什么| 记忆力减退是什么原因造成的| 小是什么生肖| 药物流产后需要注意什么| 老虎下山下一句是什么| 生蚝和什么不能一起吃| 欣是什么意思| 虾不能和什么一起吃| 精益求精下一句是什么| cas号是什么| 儿童口腔溃疡吃什么药| 尿蛋白1十是什么意思| 历法是什么意思| 肠胃炎是什么症状| 灌注是什么意思| 无语凝噎是什么意思| 雉是什么动物| 乳酸杆菌大量是什么意思| 吃什么去湿气| 煨是什么意思| 2021年五行属什么| 拉肚子能吃什么菜| 脚肿是什么原因| 苏打是什么| 读书与吃药是什么生肖| nu11是什么意思| 爽文是什么意思| 为什么会得肺癌| 穆字五行属什么| 后羿代表什么生肖| 雷特综合症是什么症状| 黄晓明和杨颖什么时候结婚的| 吃维c有什么好处| 参军意愿选什么比较好| 冶游史是什么意思| 百度
Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Applications with DynamoDB

科新生物(股票代码430175)新三板上市最新公告列表

百度 但由于乌龟体积过大,鲶鱼未能成功,看起来十分痛苦。

Amazon DynamoDB is a managed NoSQL database. These slides introduce DynamoDB and discuss best practices for data modeling and primary key selection.

Avatar for Matt Wood

Matt Wood

May 16, 2012
Tweet

More Decks by Matt Wood

Other Decks in Technology

Transcript

  1. DynamoDB is a managed NoSQL database service. Store and retrieve

    any amount of data. Serve any level of request traffic.
  2. Read throughput. $0.01 per hour for 50 read units Provisioned

    units = size of item x reads/second strongly consistent eventually consistent
  3. Read throughput. $0.01 per hour for 100 read units Provisioned

    units = size of item x reads/second 2 strongly consistent eventually consistent
  4. Read throughput. Mix and match at “read time”. Same latency

    expectations. strongly consistent eventually consistent
  5. $create_response = $dynamodb->create_table(array( 'TableName' => 'ProductCatalog', 'KeySchema' => array( 'HashKeyElement'

    => array( 'AttributeName' => 'Id', 'AttributeType' => AmazonDynamoDB::TYPE_NUMBER ) ), 'ProvisionedThroughput' => array( 'ReadCapacityUnits' => 10, 'WriteCapacityUnits' => 5 ) ));
  6. Authentication. Session based to minimize latency. Uses Amazon Security Token

    Service. Handled by AWS SDKs. Integrates with IAM.
  7. Items are a collection of attributes. Each attribute has a

    key and a value. An item can have any number of attributes, up to 64k total.
  8. Two scalar data types. String: Unicode, UTF8 binary encoding. Number:

    38 digit precision. Multi-value strings and numbers.
  9. id = 100 date = 2025-08-05-09-00-10 total = 25.00 id

    = 101 date = 2025-08-05-15-00-11 total = 35.00 id = 101 date = 2025-08-05-12-00-10 total = 100.00 id = 102 date = 2025-08-05-18-23-10 total = 20.00 id = 102 date = 2025-08-05-18-23-10 total = 120.00
  10. id = 100 date = 2025-08-05-09-00-10 total = 25.00 id

    = 101 date = 2025-08-05-15-00-11 total = 35.00 id = 101 date = 2025-08-05-12-00-10 total = 100.00 id = 102 date = 2025-08-05-18-23-10 total = 20.00 id = 102 date = 2025-08-05-18-23-10 total = 120.00 Table
  11. id = 100 date = 2025-08-05-09-00-10 total = 25.00 id

    = 101 date = 2025-08-05-15-00-11 total = 35.00 id = 101 date = 2025-08-05-12-00-10 total = 100.00 id = 102 date = 2025-08-05-18-23-10 total = 20.00 id = 102 date = 2025-08-05-18-23-10 total = 120.00 Item
  12. id = 100 date = 2025-08-05-09-00-10 total = 25.00 id

    = 101 date = 2025-08-05-15-00-11 total = 35.00 id = 101 date = 2025-08-05-12-00-10 total = 100.00 id = 102 date = 2025-08-05-18-23-10 total = 20.00 id = 102 date = 2025-08-05-18-23-10 total = 120.00 Attribute
  13. Where is the schema? Tables do not require a formal

    schema. Items are an arbitrary sized hash. Just need to specify the primary key.
  14. id = 100 date = 2025-08-05-09-00-10 total = 25.00 id

    = 101 date = 2025-08-05-15-00-11 total = 35.00 id = 101 date = 2025-08-05-12-00-10 total = 100.00 id = 102 date = 2025-08-05-18-23-10 total = 20.00 id = 102 date = 2025-08-05-18-23-10 total = 120.00 Hash Key
  15. id = 100 date = 2025-08-05-09-00-10 total = 25.00 id

    = 101 date = 2025-08-05-15-00-11 total = 35.00 id = 101 date = 2025-08-05-12-00-10 total = 100.00 id = 102 date = 2025-08-05-18-23-10 total = 20.00 id = 102 date = 2025-08-05-18-23-10 total = 120.00 Hash Key Range Key +
  16. One API call, multiple items. BatchGet returns multiple items by

    primary key. BatchWrite performs up to 25 put or delete operations. Throughput is measured by IO, not API calls.
  17. Query vs Scan Query for composite key queries. Scan for

    full table scans, exports. Both support pages and limits. Maximum response is 1Mb in size.
  18. Query patterns. Retrieve all items by hash key. Range key

    conditions: ==, <, >, >=, <=, begins with, between. Counts. Top and bottom n values. Paged responses.
  19. 1. Mapping relationships with range keys. No cross-table joins in

    DynamoDB. Use composite keys to model relationships. Patterns
  20. Data model example: online gaming. Storing scores and leader boards.

    Players with high Scores. Leader board for each game.
  21. Data model example: online gaming. Storing scores and leader boards.

    Players with high Scores. Leader board for each game. user_id = mza location = Cambridge joined = 2025-08-05 user_id = jeffbarr location = Seattle joined = 2025-08-05 user_id = werner location = Worldwide joined = 2025-08-05 Players: hash key
  22. Data model example: online gaming. Storing scores and leader boards.

    Players with high Scores. Leader board for each game. user_id = mza location = Cambridge joined = 2025-08-05 user_id = jeffbarr location = Seattle joined = 2025-08-05 user_id = werner location = Worldwide joined = 2025-08-05 Players: hash key user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000 Scores: composite key
  23. Data model example: online gaming. Storing scores and leader boards.

    Players with high Scores. Leader board for each game. user_id = mza location = Cambridge joined = 2025-08-05 user_id = jeffbarr location = Seattle joined = 2025-08-05 user_id = werner location = Worldwide joined = 2025-08-05 Players: hash key user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000 Scores: composite key game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = mza game = tetris score = 9,000,000 user_id = jeffbarr Leader boards: composite key
  24. Data model example: online gaming. Storing scores and leader boards.

    user_id = mza location = Cambridge joined = 2025-08-05 user_id = jeffbarr location = Seattle joined = 2025-08-05 user_id = werner location = Worldwide joined = 2025-08-05 Players: hash key user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000 Scores: composite key game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = mza game = tetris score = 9,000,000 user_id = jeffbarr Leader boards: composite key Scores by user (and by game)
  25. Data model example: online gaming. Storing scores and leader boards.

    user_id = mza location = Cambridge joined = 2025-08-05 user_id = jeffbarr location = Seattle joined = 2025-08-05 user_id = werner location = Worldwide joined = 2025-08-05 Players: hash key user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000 Scores: composite key game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = mza game = tetris score = 9,000,000 user_id = jeffbarr Leader boards: composite key High scores by game
  26. Data model example: large items. Storing more than 64k across

    items. message_id = 1 part = 1 message = <first 64k> message_id = 1 part = 2 message = <second 64k> message_id = 1 part = 3 joined = <third 64k> Large messages: composite keys Split attributes across items. Query by message_id and part to retrieve.
  27. Store a pointer to objects in Amazon S3. Large data

    stored in S3. Location stored in DynamoDB. 99.999999999% data durability in S3. Patterns
  28. Data model example: secondary indices. Storing more than 64k across

    items. user_id = mza first_name = Matt last_name = Wood user_id = mattfox first_name = Matt last_name = Fox user_id = werner first_name = Werner last_name = Vogels Users: hash key
  29. Data model example: secondary indices. Storing more than 64k across

    items. user_id = mza first_name = Matt last_name = Wood user_id = mattfox first_name = Matt last_name = Fox user_id = werner first_name = Werner last_name = Vogels Users: hash key first_name = Matt user_id = mza first_name = Matt user_id = mattfox first_name = Werner user_id = werner First name index: composite keys
  30. Data model example: secondary indices. Storing more than 64k across

    items. Users: hash key first_name = Matt user_id = mza first_name = Matt user_id = mattfox first_name = Werner user_id = werner First name index: composite keys Second name index: composite keys last_name = Wood user_id = mza last_name = Fox user_id = mattfox last_name = Vogels user_id = werner user_id = mza first_name = Matt last_name = Wood user_id = mattfox first_name = Matt last_name = Fox user_id = werner first_name = Werner last_name = Vogels
  31. last_name = Wood user_id = mza last_name = Fox user_id

    = mattfox last_name = Vogels user_id = werner user_id = mza first_name = Matt last_name = Wood user_id = mattfox first_name = Matt last_name = Fox user_id = werner first_name = Werner last_name = Vogels Data model example: secondary indices. Storing more than 64k across items. Users: hash key first_name = Matt user_id = mza first_name = Matt user_id = mattfox first_name = Werner user_id = werner First name index: composite keys Second name index: composite keys
  32. last_name = Wood user_id = mza last_name = Fox user_id

    = mattfox last_name = Vogels user_id = werner user_id = mza first_name = Matt last_name = Wood user_id = mattfox first_name = Matt last_name = Fox user_id = werner first_name = Werner last_name = Vogels Data model example: secondary indices. Storing more than 64k across items. Users: hash key first_name = Matt user_id = mza first_name = Matt user_id = mattfox first_name = Werner user_id = werner First name index: composite keys Second name index: composite keys
  33. 4. Time series data. Logging, click through, ad views, game

    play data, application usage. Non-uniform access patterns. Newer data is ‘live’. Older data is read only. Patterns
  34. Data model example: time series data. Rolling tables for hot

    and cold data. event_id = 1000 timestamp = 2025-08-05-09-59-01 key = value event_id = 1001 timestamp = 2025-08-05-09-59-02 key = value event_id = 1002 timestamp = 2025-08-05-09-59-02 key = value Events table: composite keys
  35. Data model example: time series data. Rolling tables for hot

    and cold data. event_id = 1000 timestamp = 2025-08-05-09-59-01 key = value event_id = 1001 timestamp = 2025-08-05-09-59-02 key = value event_id = 1002 timestamp = 2025-08-05-09-59-02 key = value Events table: composite keys Events table for April: composite keys Events table for January: composite keys event_id = 400 timestamp = 2025-08-05-00-00-01 event_id = 401 timestamp = 2025-08-05-00-00-02 event_id = 402 timestamp = 2025-08-05-00-00-03 event_id = 100 timestamp = 2025-08-05-00-00-01 event_id = 101 timestamp = 2025-08-05-00-00-02 event_id = 102 timestamp = 2025-08-05-00-00-03
  36. Hot and cold tables. Jan April May Feb Mar higher

    throughput lower throughput Dec Patterns
  37. Hot and cold tables. Jan April May Feb Mar data

    to S3, delete cold tables Dec Patterns
  38. Not out of mind. DynamoDB and S3 data can be

    integrated for analytics. Run queries across hot and cold data with Elastic MapReduce. Patterns
  39. Uniform workloads. DynamoDB divides table data into multiple partitions. Data

    is distributed primarily by hash key. Provisioned throughput is divided evenly across the partitions.
  40. Uniform workloads. To achieve and maintain full provisioned throughput for

    a table, spread your workload evenly across the hash keys.
  41. Non-uniform workloads. Some requests might be throttled, even at high

    levels of provisioned throughput. Some best practices...
  42. 1. Distinct values for hash keys. Patterns Hash key elements

    should have a high number of distinct values.
  43. Data model example: hash key selection. Well distributed work loads

    user_id = mza first_name = Matt last_name = Wood user_id = jeffbarr first_name = Jeff last_name = Barr user_id = werner first_name = Werner last_name = Vogels user_id = mattfox first_name = Matt last_name = Fox ... ... ... Users
  44. Data model example: hash key selection. Well distributed work loads

    user_id = mza first_name = Matt last_name = Wood user_id = jeffbarr first_name = Jeff last_name = Barr user_id = werner first_name = Werner last_name = Vogels user_id = mattfox first_name = Matt last_name = Fox ... ... ... Users Lots of users with unique user_id. Workload well distributed across user partitions.
  45. 2. Avoid limited hash key values. Patterns Hash key elements

    should have a high number of distinct values.
  46. Data model example: small hash value range. Non-uniform workload. status

    = 200 date = 2025-08-05-00-00-01 status = 404 date = 2025-08-05-00-00-01 status 404 date = 2025-08-05-00-00-01 status = 404 date = 2025-08-05-00-00-01 Status responses
  47. Data model example: small hash value range. Non-uniform workload. status

    = 200 date = 2025-08-05-00-00-01 status = 404 date = 2025-08-05-00-00-01 status 404 date = 2025-08-05-00-00-01 status = 404 date = 2025-08-05-00-00-01 Status responses Small number of status codes. Unevenly, non-uniform workload.
  48. 3. Model for even distribution of access. Patterns Access by

    hash key value should be evenly distributed across the dataset.
  49. Data model example: uneven access pattern by key. Non-uniform access

    workload. mobile_id = 100 access_date = 2025-08-05-00-00-01 mobile_id = 100 access_date = 2025-08-05-00-00-02 mobile_id = 100 access_date = 2025-08-05-00-00-03 mobile_id = 100 access_date = 2025-08-05-00-00-04 ... ... Devices
  50. mobile_id = 100 access_date = 2025-08-05-00-00-01 mobile_id = 100 access_date

    = 2025-08-05-00-00-02 mobile_id = 100 access_date = 2025-08-05-00-00-03 mobile_id = 100 access_date = 2025-08-05-00-00-04 ... ... Devices Large number of devices. Small number which are much more popular than others. Workload unevenly distributed. Data model example: uneven access pattern by key. Non-uniform access workload.
  51. mobile_id = 100.1 access_date = 2025-08-05-00-00-01 mobile_id = 100.2 access_date

    = 2025-08-05-00-00-02 mobile_id = 100.3 access_date = 2025-08-05-00-00-03 mobile_id = 100.4 access_date = 2025-08-05-00-00-04 ... ... Devices Randomize access pattern. Workload randomised by hash key. Data model example: randomize access pattern by key. Towards a uniform workload.
  52. Hadoop under the hood. Take advantage of the Hadoop ecosystem:

    streaming interfaces, Hive, Pig, Mahout.
  53. Query flexibility with Hive. create external table items_db (id string,

    votes bigint, views bigint) stored by 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' tblproperties ("dynamodb.table.name" = "items", "dynamodb.column.mapping" = "id:id,votes:votes,views:views");
  54. Data export/import. CREATE EXTERNAL TABLE orders_s3_new_export ( order_id string, customer_id

    string, order_date int, total double ) PARTITIONED BY (year string, month string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION 's3://export_bucket'; INSERT OVERWRITE TABLE orders_s3_new_export PARTITION (year='2012', month='01') SELECT * from orders_ddb_2012_01;
  55. Integrate live and archive data Run queries across external Hive

    tables on S3 and DynamoDB. Live & archive. Metadata & big objects.
  56. In summary... DynamoDB Data modeling Predictable performance Provisioned throughput Libraries

    & mappers Tables & items Read & write patterns Time series data
  57. In summary... DynamoDB Data modeling Partitioning Predictable performance Provisioned throughput

    Libraries & mappers Tables & items Read & write patterns Time series data Automatic partitioning Hot and cold data Size/throughput ratio
  58. In summary... DynamoDB Data modeling Partitioning Analytics Predictable performance Provisioned

    throughput Libraries & mappers Tables & items Read & write patterns Time series data Automatic partitioning Hot and cold data Size/throughput ratio Elastic MapReduce Hive queries Backup & restore
向日葵代表什么象征意义 仓鼠吃什么蔬菜 什么人不适合吃榴莲 阑珊处是什么意思 作灶是什么意思
慎用是什么意思 劫富济贫是什么意思 猫咖是什么 天丝是什么面料 腹部彩超可以检查什么
肝不好的人有什么症状 今年什么时候入梅 核磁共振什么时候出结果 糖类抗原是什么意思 什么样的人爱长结节
三月七号是什么星座 氯是什么 花胶有什么功效与作用 骑自行车有什么好处 婕字五行属什么
左侧卵巢内无回声是什么意思hcv9jop3ns8r.cn 吃什么大便能特别通畅hcv9jop4ns8r.cn er是什么意思hcv9jop2ns1r.cn emba是什么hcv9jop4ns6r.cn 为什么减肥一直减不下来hcv9jop4ns4r.cn
黔驴技穷什么意思yanzhenzixun.com xpe是什么材质hcv9jop2ns4r.cn 梦见自己把头发剪短了是什么意思0297y7.com 碘伏是什么hcv9jop6ns8r.cn 望梅止渴什么意思hcv9jop6ns7r.cn
炖乌鸡汤放什么配料hcv9jop7ns5r.cn 胃疼吃什么药管用hcv8jop4ns5r.cn 游戏id是什么意思hcv8jop0ns4r.cn 梦见流水是什么征兆hcv7jop9ns1r.cn 爸爸生日送什么礼物hcv9jop0ns7r.cn
12年属什么生肖hcv9jop1ns2r.cn 脚底板疼痛是什么原因hcv9jop1ns0r.cn 水痘吃什么药hcv8jop0ns2r.cn 如果怀孕了会有什么预兆hcv8jop7ns9r.cn 白加黑是什么颜色hcv8jop7ns8r.cn
百度