麸皮是什么| 狂风暴雨是什么意思| 减肥吃什么药| 爱好是什么意思| 非油炸是什么意思| 移花接木的意思是什么| 乙醇是什么东西| 什么药是消炎药| 双子座有什么特点| 软肋是什么意思| 可心是什么意思| 什么是流水| 火龙果有什么营养| 创伤急救的原则是什么| 茶水费是什么意思| ld是什么意思| 真菌阳性是什么意思| 吃什么可以增强免疫力| 下午三点到四点是什么时辰| 脾疼是什么原因| 什么是骨质增生| 什么布料最凉快| 床头朝什么方向是正确的| 和什么细什么的成语| 厚黑学的精髓是什么| 七月初七是什么节日| 维生素b6吃多了有什么副作用| 日进斗金什么意思| 血热吃什么药快速见效| 腘窝囊肿是什么原因引起的| 人力资源是什么意思| 人事代理什么意思| 秋天有什么花开| 艾斯比什么意思| 脚为什么会抽筋| 针灸是什么| 永恒是什么意思| 11月15日出生是什么星座| 操逼什么意思| 儿童风寒感冒吃什么药| 戴银首饰对身体有什么好处| 甲鱼吃什么东西| 陈皮泡水喝有什么功效和作用| 九一八事变是什么意思| 早泄吃什么中成药| 敖是什么意思| 小腹疼痛什么原因| 17592a是什么尺码男装| 嘴上长痘痘是什么原因| 吃什么食物能养肝护肝| 女人的胸长什么样| 日光性皮炎用什么药膏| 处女座和什么座最配对| 禅心是什么意思| 嘴苦嘴臭什么原因| 空腹胰岛素低说明什么| 上课什么坐姿可以瘦腿| 脊椎痛什么原因| 青葱岁月下一句是什么| 牛肉饺子馅配什么蔬菜好吃| 脑供血不足用什么药| 脂蛋白是什么意思| 刹那芳华是什么意思| 痔疮看什么科室| 西加一横读什么| 荷尔蒙分泌是什么意思| 生育保险是什么| 什么争鸣成语| 蝴蝶花长什么样| 冻感冒了吃什么药| 牛虻是什么| 老年人腿疼是什么原因引起的| 感冒为什么会咳嗽| 嗯嗯嗯是什么意思| 小肠镜什么情况下需要做| 白芍的功效与作用是什么| 发物都有什么| 什么叫潮吹| 兔跟什么生肖配对最好| 右附件区囊肿是什么意思| 陈晓和赵丽颖为什么分手| 为什么怀不上孩子| 40岁男人性功能减退是什么原因| 男人阳气不足有什么症状| 麦粒肿是什么原因引起的| 1800年是什么朝代| 中国的国服是什么服装| 吃什么油对心脑血管好| 应激是什么意思| 二郎腿为什么叫二郎腿| 青苹果什么时候成熟| 下午吃什么饭| 吃什么润肺养肺最快| 咽喉有异物感吃什么药| 野生甲鱼吃什么| 芭比q是什么意思| hpv12种高危型阳性是什么意思| 橘白猫是什么品种| 子宫病变有什么症状| 明目张胆是什么生肖| 梅核气吃什么药最好| 风寒吃什么感冒药| 眼睛像什么| 养老保险什么时候开始交| 眼仁发黄是什么原因| 胃受凉了吃什么药| 扁平疣是什么原因造成的| 眼晴干涩模糊用什么药| 小王子讲了什么故事| 杂菌阳性是什么意思| 外面下着雨犹如我心血在滴什么歌| 早搏是什么| 6月9号什么星座| 四月18号是什么星座的| 吃什么水果容易减肥| 吉祥是什么意思| 一什么蜻蜓| 缓刑是什么意思| 血小板分布宽度低是什么原因| 用什么锅炒菜对人体健康更有益| 植物纤维是什么面料| elf是什么意思| 脂溢性皮炎是什么引起的| 例假量少是什么原因| 被虫子咬了涂什么药膏| 投资公司是做什么的| 肚子一按就痛什么原因| 窦骁父母是干什么的| 孕妇羊水少吃什么补的快| ped是什么意思| 什么是心脏早搏| 金银花长什么样子图片| 疝气有什么症状| 淡泊名利是什么意思| 吃什么补维生素b| 发烧是什么症状| 拉拉是什么意思| 赖氨酸有什么作用| 女人盗汗吃什么好得快| 上腹疼是什么原因| 血小板低是什么原因引起的| 六月二十一是什么日子| 甲状腺去医院挂什么科| 脸上长藓用什么药| 疱疹是什么原因引起的| 为什么会得肺癌| 铅中毒什么症状| 女为读什么| pose什么意思| 基药是什么意思| 牙龈肿痛吃什么药效果好| 维生素b族什么时候吃最好| 艾绒是什么| mcm牌子属于什么档次| 深圳车牌摇号需要什么条件| 体检应该挂什么科| 孕妇吃什么好| 笔触是什么意思| 什么东西进去是硬的出来是软的| 改良碱性土壤用什么| 安赛蜜是什么东西| 拜你所赐什么意思| 孩子积食发烧吃什么药| 孕妇什么时候有奶水| chest是什么意思| 国务院秘书长什么级别| 细菌性前列腺炎有什么症状| 不自觉是什么意思| 子宫肌瘤是什么| 碳酸氢铵是什么| 起水痘需要注意什么| 叉烧是什么意思| 单核细胞偏高说明什么| 1995年出生属什么| 成人发烧38度吃什么药| 坐地能吸土是什么意思| 调节是什么意思| 为什么手会掉皮| 睡着了咳嗽是什么原因| 男人经常熬夜炖什么汤| 什么都不做| 117是什么意思| 四季春茶是什么茶| 2008年出生的属什么| 热闹的什么| 颈椎生理曲度变直是什么意思| 77年属蛇的是什么命| 20度穿什么衣服| 什么情况下血压会升高| 浑身解数是什么意思| 仗剑走天涯什么意思| 为什么老是拉肚子| 墨子是什么家| 吃枸杞有什么好处| 肠梗阻吃什么药| 爬山需要准备什么东西| 乳头为什么会痛| 后裔是什么意思| 梦见来月经是什么意思| 深呼吸有什么好处| 大脑供血不足吃什么药| 身上经常出汗是什么原因| 双眼屈光不正是什么意思| 工业氧气和医用氧气有什么区别| 普罗帕酮又叫什么| 子宫前置是什么意思| 七情六欲什么意思| 拨备覆盖率是什么意思| eligible是什么意思| 金鱼的尾巴像什么| 湿疹用什么药| 女性腰疼去医院挂什么科| 什么的嫩芽| 喝黑咖啡有什么好处| 省纪委常委是什么级别| 意味深长的意思是什么| 本色出演是什么意思| 烫伤擦什么药膏| dmp是什么意思| 思密达什么意思| 什么情况需要割包皮| 芭乐是什么水果| 征兵初检检查什么| 女生问你喜欢她什么怎么回答| ca125检查是什么意思| 脚有酸味是什么原因| 手指缝脱皮是什么原因| 心重是什么意思| 涟漪是什么意思| 名分是什么意思| 什么是负离子| 印度为什么没把墨脱占领| 装孙子是什么意思| 打鸡血是什么意思| 情感是什么意思| 阿玛施属于什么档次| 吃饭后胃疼是什么原因| 哥文花园女装什么档次| 做糖耐前一天需要注意什么| 10万个为什么的作者| 现在什么星座| 荷兰豆炒什么好吃| 什么饮料去火| 屈光参差是什么意思| 测智力去医院挂什么科| 怀孕为什么会流血| 耳朵有回音是什么原因| 红豆和赤小豆有什么区别| 备孕检查挂什么科| 信佛有什么好处| 药店为什么不让卖高锰酸钾| 十九朵玫瑰花代表什么意思| 亲和力是什么意思| 母女丼什么意思| 反流性胃炎吃什么药| 肾积水是什么意思| 间接胆红素偏高是什么意思| 命门火衰是什么意思| 右眼睛跳是什么意思| 嘴边起水泡是什么原因| 吃什么药能推迟月经| 上海虹桥医院属于什么医院| 耳鸣吃什么药最好| 慢性肾功能不全是什么意思| 百度Jump to content

参璸Ы┬玻秸北狦4る嘲尿陪瞷

From Wikipedia, the free encyclopedia
(Redirected from Database replication)
百度 然而不管怎么样,海子山都有着不同于景区岁月的独特魅力,值得每一个路过的人驻足细品。

Replication in computing refers to maintaining multiple copies of data, processes, or resources to ensure consistency across redundant components. This fundamental technique spans databases, file systems, and distributed systems, serving to improve availability, fault-tolerance, accessibility, and performance.[1] Through replication, systems can continue operating when components fail (failover), serve requests from geographically distributed locations, and balance load across multiple machines. The challenge lies in maintaining consistency between replicas while managing the fundamental tradeoffs between data consistency, system availability, and network partition tolerance – constraints known as the CAP theorem.[2]

Terminology

[edit]

Replication in computing can refer to:

  • Data replication, where the same data is stored on multiple storage devices
  • Computation replication, where the same computing task is executed many times. Computational tasks may be:
    • Replicated in space, where tasks are executed on separate devices
    • Replicated in time, where tasks are executed repeatedly on a single device

Replication in space or in time is often linked to scheduling algorithms.[3]

Access to a replicated entity is typically uniform with access to a single non-replicated entity. The replication itself should be transparent to an external user. In a failure scenario, a failover of replicas should be hidden as much as possible with respect to quality of service.[4]

Computer scientists further describe replication as being either:

  • Active replication, which is performed by processing the same request at every replica
  • Passive replication, which involves processing every request on a single replica and transferring the result to the other replicas

When one leader replica is designated via leader election to process all the requests, the system is using a primary-backup or primary-replica scheme, which is predominant in high-availability clusters. In comparison, if any replica can process a request and distribute a new state, the system is using a multi-primary or multi-master scheme. In the latter case, some form of distributed concurrency control must be used, such as a distributed lock manager.

Load balancing differs from task replication, since it distributes a load of different computations across machines, and allows a single computation to be dropped in case of failure. Load balancing, however, sometimes uses data replication (especially multi-master replication) internally, to distribute its data among machines.

Backup differs from replication in that the saved copy of data remains unchanged for a long period of time.[5] Replicas, on the other hand, undergo frequent updates and quickly lose any historical state. Replication is one of the oldest and most important topics in the overall area of distributed systems.

Data replication and computation replication both require processes to handle incoming events. Processes for data replication are passive and operate only to maintain the stored data, reply to read requests and apply updates. Computation replication is usually performed to provide fault-tolerance, and take over an operation if one component fails. In both cases, the underlying needs are to ensure that the replicas see the same events in equivalent orders, so that they stay in consistent states and any replica can respond to queries.

Replication models in distributed systems

[edit]

Three widely cited models exist for data replication, each having its own properties and performance:

  • Transactional replication: used for replicating transactional data, such as a database. The one-copy serializability model is employed, which defines valid outcomes of a transaction on replicated data in accordance with the overall ACID (atomicity, consistency, isolation, durability) properties that transactional systems seek to guarantee.
  • State machine replication: assumes that the replicated process is a deterministic finite automaton and that atomic broadcast of every event is possible. It is based on distributed consensus and has a great deal in common with the transactional replication model. This is sometimes mistakenly used as a synonym of active replication. State machine replication is usually implemented by a replicated log consisting of multiple subsequent rounds of the Paxos algorithm. This was popularized by Google's Chubby system, and is the core behind the open-source Keyspace data store.[6][7]
  • Virtual synchrony: involves a group of processes which cooperate to replicate in-memory data or to coordinate actions. The model defines a distributed entity called a process group. A process can join a group and is provided with a checkpoint containing the current state of the data replicated by group members. Processes can then send multicasts to the group and will see incoming multicasts in the identical order. Membership changes are handled as a special multicast that delivers a new "membership view" to the processes in the group.[8]

Database replication

[edit]

Database replication involves maintaining copies of the same data on multiple machines, typically implemented through three main approaches: single-leader, multi-leader, and leaderless replication.[1]

In single-leader (also called primary/replica) replication, one database instance is designated as the leader (primary), which handles all write operations. The leader logs these updates, which then propagate to replica nodes. Each replica acknowledges receipt of updates, enabling subsequent write operations. Replicas primarily serve read requests, though they may serve stale data due to replication lag – the delay in propagating changes from the leader.

In multi-master replication (also called multi-leader), updates can be submitted to any database node, which then propagate to other servers. This approach is particularly beneficial in multi-data center deployments, where it enables local write processing while masking inter-data center network latency.[1] However, it introduces substantially increased costs and complexity which may make it impractical in some situations. The most common challenge that exists in multi-master replication is transactional conflict prevention or resolution when concurrent modifications occur on different leader nodes.

Most synchronous (or eager) replication solutions perform conflict prevention, while asynchronous (or lazy) solutions have to perform conflict resolution. For instance, if the same record is changed on two nodes simultaneously, an eager replication system would detect the conflict before confirming the commit and abort one of the transactions. A lazy replication system would allow both transactions to commit and run a conflict resolution during re-synchronization. Conflict resolution methods can include techniques like last-write-wins, application-specific logic, or merging concurrent updates.[1]

However, replication transparency can not always be achieved. When data is replicated in a database, they will be constrained by CAP theorem or PACELC theorem. In the NoSQL movement, data consistency is usually sacrificed in exchange for other more desired properties, such as availability (A), partition tolerance (P), etc. Various data consistency models have also been developed to serve as Service Level Agreement (SLA) between service providers and the users.

There are several techniques for replicating data changes between nodes:[1]

  • Statement-based replication: Write requests (such as SQL statements) are logged and transmitted to replicas for execution. This can be problematic with non-deterministic functions or statements having side effects.
  • Write-ahead log (WAL) shipping: The storage engine's low-level write-ahead log is replicated, ensuring identical data structures across nodes.
  • Logical (row-based) replication: Changes are described at the row level using a dedicated log format, providing greater flexibility and independence from storage engine internals.

Disk storage replication

[edit]
Storage replication

Active (real-time) storage replication is usually implemented by distributing updates of a block device to several physical hard disks. This way, any file system supported by the operating system can be replicated without modification, as the file system code works on a level above the block device driver layer. It is implemented either in hardware (in a disk array controller) or in software (in a device driver).

The most basic method is disk mirroring, which is typical for locally connected disks. The storage industry narrows the definitions, so mirroring is a local (short-distance) operation. A replication is extendable across a computer network, so that the disks can be located in physically distant locations, and the primary/replica database replication model is usually applied. The purpose of replication is to prevent damage from failures or disasters that may occur in one location – or in case such events do occur, to improve the ability to recover data. For replication, latency is the key factor because it determines either how far apart the sites can be or the type of replication that can be employed.

The main characteristic of such cross-site replication is how write operations are handled, through either asynchronous or synchronous replication; synchronous replication needs to wait for the destination server's response in any write operation whereas asynchronous replication does not.

Synchronous replication guarantees "zero data loss" by the means of atomic write operations, where the write operation is not considered complete until acknowledged by both the local and remote storage. Most applications wait for a write transaction to complete before proceeding with further work, hence overall performance decreases considerably. Inherently, performance drops proportionally to distance, as minimum latency is dictated by the speed of light. For 10 km distance, the fastest possible roundtrip takes 67 μs, whereas an entire local cached write completes in about 10–20 μs.

In asynchronous replication, the write operation is considered complete as soon as local storage acknowledges it. Remote storage is updated with a small lag. Performance is greatly increased, but in case of a local storage failure, the remote storage is not guaranteed to have the current copy of data (the most recent data may be lost).

Semi-synchronous replication typically considers a write operation complete when acknowledged by local storage and received or logged by the remote server. The actual remote write is performed asynchronously, resulting in better performance but remote storage will lag behind the local storage, so that there is no guarantee of durability (i.e., seamless transparency) in the case of local storage failure.[citation needed]

Point-in-time replication produces periodic snapshots which are replicated instead of primary storage. This is intended to replicate only the changed data instead of the entire volume. As less information is replicated using this method, replication can occur over less-expensive bandwidth links such as iSCSI or T1 instead of fiberoptic lines.

Implementations

[edit]

Many distributed filesystems use replication to ensure fault tolerance and avoid a single point of failure.

Many commercial synchronous replication systems do not freeze when the remote replica fails or loses connection – behaviour which guarantees zero data loss – but proceed to operate locally, losing the desired zero recovery point objective.

Techniques of wide-area network (WAN) optimization can be applied to address the limits imposed by latency.

File-based replication

[edit]

File-based replication conducts data replication at the logical level (i.e., individual data files) rather than at the storage block level. There are many different ways of performing this, which almost exclusively rely on software.

Capture with a kernel driver

[edit]

A kernel driver (specifically a filter driver) can be used to intercept calls to the filesystem functions, capturing any activity as it occurs. This uses the same type of technology that real-time active virus checkers employ. At this level, logical file operations are captured like file open, write, delete, etc. The kernel driver transmits these commands to another process, generally over a network to a different machine, which will mimic the operations of the source machine. Like block-level storage replication, the file-level replication allows both synchronous and asynchronous modes. In synchronous mode, write operations on the source machine are held and not allowed to occur until the destination machine has acknowledged the successful replication. Synchronous mode is less common with file replication products although a few solutions exist.

File-level replication solutions allow for informed decisions about replication based on the location and type of the file. For example, temporary files or parts of a filesystem that hold no business value could be excluded. The data transmitted can also be more granular; if an application writes 100 bytes, only the 100 bytes are transmitted instead of a complete disk block (generally 4,096 bytes). This substantially reduces the amount of data sent from the source machine and the storage burden on the destination machine.

Drawbacks of this software-only solution include the requirement for implementation and maintenance on the operating system level, and an increased burden on the machine's processing power.

File system journal replication

[edit]

Similarly to database transaction logs, many file systems have the ability to journal their activity. The journal can be sent to another machine, either periodically or in real time by streaming. On the replica side, the journal can be used to play back file system modifications.

One of the notable implementations is Microsoft's System Center Data Protection Manager (DPM), released in 2005, which performs periodic updates but does not offer real-time replication.[citation needed]

Batch replication

[edit]

This is the process of comparing the source and destination file systems and ensuring that the destination matches the source. The key benefit is that such solutions are generally free or inexpensive. The downside is that the process of synchronizing them is quite system-intensive, and consequently this process generally runs infrequently.

One of the notable implementations is rsync.

Replication within file

[edit]

In a paging operating system, pages in a paging file are sometimes replicated within a track to reduce rotational latency.

In IBM's VSAM, index data are sometimes replicated within a track to reduce rotational latency.

Distributed shared memory replication

[edit]

Another example of using replication appears in distributed shared memory systems, where many nodes of the system share the same page of memory. This usually means that each node has a separate copy (replica) of this page.

Primary-backup and multi-primary replication

[edit]

Many classical approaches to replication are based on a primary-backup model where one device or process has unilateral control over one or more other processes or devices. For example, the primary might perform some computation, streaming a log of updates to a backup (standby) process, which can then take over if the primary fails. This approach is common for replicating databases, despite the risk that if a portion of the log is lost during a failure, the backup might not be in a state identical to the primary, and transactions could then be lost.

A weakness of primary-backup schemes is that only one is actually performing operations. Fault-tolerance is gained, but the identical backup system doubles the costs. For this reason, starting c.?1985, the distributed systems research community began to explore alternative methods of replicating data. An outgrowth of this work was the emergence of schemes in which a group of replicas could cooperate, with each process acting as a backup while also handling a share of the workload.

Computer scientist Jim Gray analyzed multi-primary replication schemes under the transactional model and published a widely cited paper skeptical of the approach "The Dangers of Replication and a Solution".[9][10] He argued that unless the data splits in some natural way so that the database can be treated as n disjoint sub-databases, concurrency control conflicts will result in seriously degraded performance and the group of replicas will probably slow as a function of n. Gray suggested that the most common approaches are likely to result in degradation that scales as O(n3). His solution, which is to partition the data, is only viable in situations where data actually has a natural partitioning key.

In the 1985–1987, the virtual synchrony model was proposed and emerged as a widely adopted standard (it was used in the Isis Toolkit, Horus, Transis, Ensemble, Totem, Spread, C-Ensemble, Phoenix and Quicksilver systems, and is the basis for the CORBA fault-tolerant computing standard). Virtual synchrony permits a multi-primary approach in which a group of processes cooperates to parallelize some aspects of request processing. The scheme can only be used for some forms of in-memory data, but can provide linear speedups in the size of the group.

A number of modern products support similar schemes. For example, the Spread Toolkit supports this same virtual synchrony model and can be used to implement a multi-primary replication scheme; it would also be possible to use C-Ensemble or Quicksilver in this manner. WANdisco permits active replication where every node on a network is an exact copy or replica and hence every node on the network is active at one time; this scheme is optimized for use in a wide area network (WAN).

Modern multi-primary replication protocols optimize for the common failure-free operation. Chain replication[11] is a  popular family of such protocols. State-of-the-art protocol variants[12] of chain replication offer high throughput and strong consistency by arranging replicas in a chain for writes. This approach enables local reads on all replica nodes but has high latency for writes that must traverse multiple nodes sequentially.

A more recent multi-primary protocol, Hermes,[13] combines cache-coherent-inspired invalidations and logical timestamps to achieve strong consistency with local reads and high-performance writes from all replicas. During fault-free operation, its broadcast-based writes are non-conflicting and commit after just one multicast round-trip to replica nodes. This design results in high throughput and low latency for both reads and writes.

See also

[edit]

References

[edit]
  1. ^ a b c d e Kleppmann, Martin (2017). Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. O'Reilly Media. pp. 151–185. ISBN 9781491903100.
  2. ^ Brewer, Eric A. (2000). "Towards robust distributed systems (Abstract)". Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing. p. 7. doi:10.1145/343477.343502. ISBN 1-58113-183-6.
  3. ^ Mansouri, Najme, Gholam, Hosein Dastghaibyfard, and Ehsan Mansouri. "Combination of data replication and scheduling algorithm for improving data availability in Data Grids", Journal of Network and Computer Applications (2013)
  4. ^ V. Andronikou, K. Mamouras, K. Izan, D. Kyriazis, T. Varvarigou, "Dynamic QoS-aware Data Replication in Grid Environments", Elsevier Future Generation Computer Systems - The International Journal of Grid Computing and eScience, 2012
  5. ^ "Backup and Replication: What is the Difference?". Zerto. February 6, 2012.
  6. ^ Marton Trencseni, Attila Gazso (2009). "Keyspace: A Consistently Replicated, Highly-Available Key-Value Store". Retrieved 2025-08-06.
  7. ^ Mike Burrows (2006). "The Chubby Lock Service for Loosely-Coupled Distributed Systems". Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  8. ^ Birman, K.; Joseph, T. (2025-08-06). "Exploiting virtual synchrony in distributed systems". Proceedings of the eleventh ACM Symposium on Operating systems principles - SOSP '87. New York, NY, USA: Association for Computing Machinery. pp. 123–138. doi:10.1145/41457.37515. ISBN 978-0-89791-242-6. S2CID 7739589.
  9. ^ "The Dangers of Replication and a Solution"
  10. ^ Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data: SIGMOD '99, Philadelphia, PA, US; June 1–3, 1999, Volume 28; p. 3.
  11. ^ van Renesse, Robbert; Schneider, Fred B. (2025-08-06). "Chain replication for supporting high throughput and availability". Proceedings of the 6th Conference on Symposium on Operating Systems Design & Implementation - Volume 6. OSDI'04. USA: USENIX Association: 7.
  12. ^ Terrace, Jeff; Freedman, Michael J. (2025-08-06). "Object storage on CRAQ: high-throughput chain replication for read-mostly workloads". USENIX Annual Technical Conference. USENIX'09. USA: 11.
  13. ^ Katsarakis, Antonios; Gavrielatos, Vasilis; Katebzadeh, M.R. Siavash; Joshi, Arpit; Dragojevic, Aleksandar; Grot, Boris; Nagarajan, Vijay (2025-08-06). "Hermes: A Fast, Fault-Tolerant and Linearizable Replication Protocol". Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (PDF). ASPLOS '20. New York, NY, USA: Association for Computing Machinery. pp. 201–217. doi:10.1145/3373376.3378496. hdl:20.500.11820/c8bd74e1-5612-4b81-87fe-175c1823d693. ISBN 978-1-4503-7102-5. S2CID 210921224.
肌酐测定是查什么 吃知柏地黄丸有什么副作用 卷柏属于什么植物 出汗太多会对身体造成什么伤害 什么是ph值
翡翠a货是什么意思 纪检是干什么的 正常大便是什么颜色 什么东西最伤肾 真正的朋友是什么
congee是什么意思 多吃鱼有什么好处 给孩子测骨龄应该挂什么科 燕京大学现在叫什么 幼对什么
为什么经常头疼 高胆固醇吃什么药 阿苯达唑片是什么药 梦见涨水是什么征兆 初伏吃什么
谦虚什么意思hcv8jop9ns2r.cn 冰箱买什么牌子好hcv9jop3ns8r.cn 鬼压床是什么原因造成的xinjiangjialails.com 一个虫一个尧念什么hcv8jop2ns0r.cn lm是什么品牌hcv8jop8ns4r.cn
肾阴虚吃什么中药shenchushe.com 五大发展理念是什么hcv7jop7ns4r.cn 老干局是干什么的hcv8jop2ns3r.cn miss什么意思hcv9jop5ns2r.cn 右耳朵发热代表什么预兆hcv7jop9ns7r.cn
齐天大圣是什么意思wzqsfys.com 香油吃多了有什么害处hcv7jop4ns5r.cn 1m是什么意思hcv8jop3ns5r.cn 炸薯条用什么油ff14chat.com 耳呜吃什么药最好hcv8jop7ns4r.cn
感冒了能吃什么水果hcv9jop3ns2r.cn 训练有素是什么意思hcv8jop2ns1r.cn 拔智齿挂什么科hcv7jop5ns1r.cn 李什么名字好听hcv8jop0ns7r.cn 红豆有什么功效和作用xscnpatent.com
百度