@umacloud/knowledge 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,484 @@
1
+ ---
2
+ id: database-migration-strategies
3
+ title: 数据库迁移策略
4
+ domain: development
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [agent, checklist, database, development, migration, strategies, 实战代码示例, 常见陷阱]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 数据库迁移策略
12
+
13
+ ## 概述
14
+ 数据库迁移是生产系统演进中最高风险的操作之一。本指南覆盖零停机迁移、蓝绿部署、双写策略、CDC(变更数据捕获)和回滚方案,帮助团队安全地执行Schema变更和数据迁移。
15
+
16
+ ## 核心概念
17
+
18
+ ### 1. 迁移类型
19
+ - **Schema迁移**: 添加/修改/删除表、列、索引
20
+ - **数据迁移**: 数据格式转换、数据清洗、数据搬迁
21
+ - **引擎迁移**: MySQL→PostgreSQL、单库→分库
22
+ - **云迁移**: 自建→RDS/Aurora/Cloud SQL
23
+
24
+ ### 2. 迁移风险等级
25
+
26
+ | 操作 | 风险 | 是否锁表 | 零停机可能 |
27
+ |------|------|----------|-----------|
28
+ | 添加列(有默认值) | 低 | PostgreSQL不锁/MySQL可能锁 | 是 |
29
+ | 添加列(无默认值,可空) | 低 | 不锁 | 是 |
30
+ | 删除列 | 中 | 不锁 | 需分步 |
31
+ | 重命名列 | 高 | 不锁但应用需改 | 需分步 |
32
+ | 添加索引 | 中 | 可能锁(需CONCURRENTLY) | 是 |
33
+ | 修改列类型 | 高 | 通常锁表 | 需分步 |
34
+ | 删除表 | 高 | 不锁 | 需分步 |
35
+ | 大表数据迁移 | 高 | 取决于方式 | 需特殊处理 |
36
+
37
+ ### 3. 零停机迁移原则
38
+ - **前向兼容**: 新代码必须兼容旧Schema
39
+ - **后向兼容**: 旧代码必须兼容新Schema
40
+ - **分步执行**: 大变更拆分为多个小步骤
41
+ - **可逆操作**: 每步都有回滚方案
42
+
43
+ ## 实战代码示例
44
+
45
+ ### Alembic迁移(Python/SQLAlchemy)
46
+
47
+ ```python
48
+ # alembic/versions/001_add_user_profile.py
49
+ """add user profile columns
50
+
51
+ Revision ID: abc123
52
+ Revises: None
53
+ Create Date: 2025-01-15 10:00:00
54
+ """
55
+ from alembic import op
56
+ import sqlalchemy as sa
57
+
58
+ revision = 'abc123'
59
+ down_revision = None
60
+
61
+ def upgrade():
62
+ # 步骤1: 添加可空列(安全,不锁表)
63
+ op.add_column('users', sa.Column('avatar_url', sa.String(500), nullable=True))
64
+ op.add_column('users', sa.Column('bio', sa.Text(), nullable=True))
65
+
66
+ # 步骤2: 并发创建索引(不锁表)
67
+ op.create_index(
68
+ 'ix_users_email',
69
+ 'users',
70
+ ['email'],
71
+ unique=True,
72
+ postgresql_concurrently=True,
73
+ )
74
+
75
+ def downgrade():
76
+ op.drop_index('ix_users_email', table_name='users')
77
+ op.drop_column('users', 'bio')
78
+ op.drop_column('users', 'avatar_url')
79
+ ```
80
+
81
+ ### 零停机列重命名(3步法)
82
+
83
+ ```python
84
+ # 步骤1: 添加新列(部署迁移,不改代码)
85
+ # migration_001_add_full_name.py
86
+ def upgrade():
87
+ op.add_column('users', sa.Column('full_name', sa.String(200), nullable=True))
88
+ # 回填数据
89
+ op.execute("UPDATE users SET full_name = name WHERE full_name IS NULL")
90
+
91
+ def downgrade():
92
+ op.drop_column('users', 'full_name')
93
+
94
+ # 步骤2: 双写(部署新代码,同时写两列)
95
+ # models.py — 应用层双写
96
+ class User(Base):
97
+ __tablename__ = 'users'
98
+ name = Column(String(200)) # 旧列,保持兼容
99
+ full_name = Column(String(200)) # 新列
100
+
101
+ def set_name(self, value: str):
102
+ """双写: 同时更新两列"""
103
+ self.name = value
104
+ self.full_name = value
105
+
106
+ # 步骤3: 切换读取到新列,确认无问题后删除旧列
107
+ # migration_003_drop_name.py
108
+ def upgrade():
109
+ # 确保所有数据已同步
110
+ op.execute("""
111
+ UPDATE users SET full_name = name
112
+ WHERE full_name IS NULL OR full_name != name
113
+ """)
114
+ op.alter_column('users', 'full_name', nullable=False)
115
+ op.drop_column('users', 'name')
116
+
117
+ def downgrade():
118
+ op.add_column('users', sa.Column('name', sa.String(200)))
119
+ op.execute("UPDATE users SET name = full_name")
120
+ ```
121
+
122
+ ### 大表安全添加索引
123
+
124
+ ```sql
125
+ -- PostgreSQL: CONCURRENTLY创建索引(不锁表)
126
+ CREATE INDEX CONCURRENTLY ix_orders_user_id ON orders(user_id);
127
+
128
+ -- 注意: CONCURRENTLY不能在事务中使用
129
+ -- Alembic需要特殊处理:
130
+ ```
131
+
132
+ ```python
133
+ # alembic迁移中使用CONCURRENTLY
134
+ from alembic import op
135
+
136
+ def upgrade():
137
+ # 必须在事务外执行
138
+ op.execute("COMMIT") # 结束当前事务
139
+ op.create_index(
140
+ 'ix_orders_user_id',
141
+ 'orders',
142
+ ['user_id'],
143
+ postgresql_concurrently=True,
144
+ )
145
+ ```
146
+
147
+ ### 双写迁移模式
148
+
149
+ ```python
150
+ # 从旧表迁移到新表的双写模式
151
+ class OrderRepository:
152
+ """订单仓库 — 双写迁移阶段"""
153
+
154
+ def __init__(self, old_db, new_db, migration_phase: str):
155
+ self.old_db = old_db
156
+ self.new_db = new_db
157
+ self.phase = migration_phase # "shadow" | "dual" | "cutover" | "cleanup"
158
+
159
+ async def create_order(self, order: Order) -> Order:
160
+ if self.phase == "shadow":
161
+ # 阶段1: 写旧库为主,异步写新库(不影响主流程)
162
+ result = await self.old_db.insert(order)
163
+ try:
164
+ await self.new_db.insert(self._transform(order))
165
+ except Exception as e:
166
+ logger.warning(f"Shadow write failed: {e}")
167
+ return result
168
+
169
+ elif self.phase == "dual":
170
+ # 阶段2: 双写,两个都必须成功
171
+ result = await self.old_db.insert(order)
172
+ await self.new_db.insert(self._transform(order))
173
+ return result
174
+
175
+ elif self.phase == "cutover":
176
+ # 阶段3: 新库为主,旧库同步写
177
+ result = await self.new_db.insert(self._transform(order))
178
+ try:
179
+ await self.old_db.insert(order)
180
+ except Exception as e:
181
+ logger.warning(f"Legacy write failed: {e}")
182
+ return self._reverse_transform(result)
183
+
184
+ elif self.phase == "cleanup":
185
+ # 阶段4: 只写新库
186
+ return await self.new_db.insert(self._transform(order))
187
+
188
+ async def get_order(self, order_id: int) -> Order:
189
+ if self.phase in ("shadow", "dual"):
190
+ # 读旧库
191
+ result = await self.old_db.get(order_id)
192
+ # 可选: 对比新库数据一致性
193
+ if self.phase == "dual":
194
+ new_result = await self.new_db.get(order_id)
195
+ if result != self._reverse_transform(new_result):
196
+ logger.error(f"Data inconsistency for order {order_id}")
197
+ return result
198
+ else:
199
+ # 读新库
200
+ return self._reverse_transform(await self.new_db.get(order_id))
201
+ ```
202
+
203
+ ### CDC变更数据捕获(Debezium)
204
+
205
+ ```yaml
206
+ # Debezium连接器配置(Kafka Connect)
207
+ # 捕获PostgreSQL变更并发送到Kafka
208
+ {
209
+ "name": "pg-source-connector",
210
+ "config": {
211
+ "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
212
+ "database.hostname": "postgres",
213
+ "database.port": "5432",
214
+ "database.user": "replicator",
215
+ "database.password": "${secrets:pg-password}",
216
+ "database.dbname": "myapp",
217
+ "database.server.name": "myapp-db",
218
+ "table.include.list": "public.users,public.orders",
219
+ "plugin.name": "pgoutput",
220
+ "slot.name": "debezium_slot",
221
+ "publication.name": "debezium_pub",
222
+ "topic.prefix": "cdc",
223
+ "transforms": "route",
224
+ "transforms.route.type": "org.apache.kafka.connect.transforms.RegexRouter",
225
+ "transforms.route.regex": "cdc\\.public\\.(.*)",
226
+ "transforms.route.replacement": "cdc.$1"
227
+ }
228
+ }
229
+ ```
230
+
231
+ ```python
232
+ # CDC消费者 — 将变更同步到新系统
233
+ from aiokafka import AIOKafkaConsumer
234
+ import json
235
+
236
+ async def sync_from_cdc():
237
+ consumer = AIOKafkaConsumer(
238
+ 'cdc.users', 'cdc.orders',
239
+ bootstrap_servers='kafka:9092',
240
+ group_id='migration-sync',
241
+ auto_offset_reset='earliest',
242
+ )
243
+ await consumer.start()
244
+
245
+ async for msg in consumer:
246
+ event = json.loads(msg.value)
247
+ operation = event["op"] # c=create, u=update, d=delete
248
+ after = event.get("after")
249
+ before = event.get("before")
250
+
251
+ if operation == "c":
252
+ await new_db.insert(transform(after))
253
+ elif operation == "u":
254
+ await new_db.update(transform(after))
255
+ elif operation == "d":
256
+ await new_db.delete(before["id"])
257
+
258
+ await consumer.commit()
259
+ ```
260
+
261
+ ### 回滚策略
262
+
263
+ ```python
264
+ # 迁移回滚脚本模板
265
+ class MigrationRollback:
266
+ """迁移回滚管理器"""
267
+
268
+ def __init__(self, db_url: str):
269
+ self.engine = create_async_engine(db_url)
270
+
271
+ async def check_rollback_safety(self, revision: str) -> dict:
272
+ """检查回滚是否安全"""
273
+ checks = {
274
+ "data_loss": False,
275
+ "schema_compatible": True,
276
+ "active_connections": 0,
277
+ "estimated_duration": "0s",
278
+ }
279
+
280
+ # 检查是否有数据丢失风险
281
+ migration = get_migration(revision)
282
+ if migration.drops_column or migration.drops_table:
283
+ checks["data_loss"] = True
284
+
285
+ # 检查当前活跃连接
286
+ async with self.engine.connect() as conn:
287
+ result = await conn.execute(text(
288
+ "SELECT count(*) FROM pg_stat_activity WHERE state = 'active'"
289
+ ))
290
+ checks["active_connections"] = result.scalar()
291
+
292
+ return checks
293
+
294
+ async def rollback(self, target_revision: str, dry_run: bool = True):
295
+ """执行回滚"""
296
+ safety = await self.check_rollback_safety(target_revision)
297
+
298
+ if safety["data_loss"]:
299
+ logger.warning("Rollback will cause data loss!")
300
+ if not dry_run:
301
+ # 先备份
302
+ await self.backup_affected_tables(target_revision)
303
+
304
+ if dry_run:
305
+ logger.info(f"DRY RUN: Would rollback to {target_revision}")
306
+ logger.info(f"Safety checks: {safety}")
307
+ return
308
+
309
+ # 执行Alembic回滚
310
+ alembic_cfg = Config("alembic.ini")
311
+ command.downgrade(alembic_cfg, target_revision)
312
+ logger.info(f"Rolled back to {target_revision}")
313
+ ```
314
+
315
+ ### 分批数据迁移
316
+
317
+ ```python
318
+ # 大表数据迁移(分批处理,避免锁表)
319
+ import asyncio
320
+
321
+ async def batch_migrate_orders(batch_size: int = 1000):
322
+ """分批迁移订单数据"""
323
+ last_id = 0
324
+ total_migrated = 0
325
+ errors = []
326
+
327
+ while True:
328
+ async with old_db.begin() as conn:
329
+ rows = await conn.execute(text("""
330
+ SELECT * FROM orders
331
+ WHERE id > :last_id
332
+ ORDER BY id
333
+ LIMIT :batch_size
334
+ """), {"last_id": last_id, "batch_size": batch_size})
335
+
336
+ batch = rows.fetchall()
337
+ if not batch:
338
+ break
339
+
340
+ # 转换并写入新库
341
+ transformed = [transform_order(row) for row in batch]
342
+ try:
343
+ async with new_db.begin() as new_conn:
344
+ await new_conn.execute(
345
+ new_orders_table.insert(),
346
+ transformed,
347
+ )
348
+ total_migrated += len(batch)
349
+ last_id = batch[-1].id
350
+ logger.info(f"Migrated {total_migrated} orders, last_id={last_id}")
351
+ except Exception as e:
352
+ errors.append({"last_id": last_id, "error": str(e)})
353
+ logger.error(f"Batch failed at id={last_id}: {e}")
354
+
355
+ # 控制速率,避免压垮数据库
356
+ await asyncio.sleep(0.1)
357
+
358
+ return {"total": total_migrated, "errors": errors}
359
+ ```
360
+
361
+ ## 最佳实践
362
+
363
+ ### 1. 迁移文件管理
364
+ - 每个迁移一个文件,有清晰的描述
365
+ - 迁移文件提交到版本控制
366
+ - upgrade和downgrade都要实现
367
+ - CI中运行迁移测试(创建→回滚→再创建)
368
+
369
+ ### 2. 零停机变更清单
370
+ - 添加列: 只添加可空列或有默认值的列
371
+ - 删除列: 先停止代码读写该列 → 下次部署再删除
372
+ - 重命名列: 添加新列 → 双写 → 切换读取 → 删除旧列
373
+ - 添加索引: 使用CONCURRENTLY(PostgreSQL)或pt-online-schema-change(MySQL)
374
+ - 修改列类型: 添加新列 → 双写 → 切换 → 删除旧列
375
+
376
+ ### 3. 数据验证
377
+ - 迁移前后对比行数
378
+ - 抽样验证数据正确性
379
+ - 校验聚合值(SUM/COUNT)一致
380
+ - 运行完整性检查(外键/唯一约束)
381
+
382
+ ### 4. 回滚准备
383
+ - 每次迁移前备份
384
+ - 准备回滚脚本并测试过
385
+ - 设定回滚时间窗口
386
+ - 定义回滚触发条件(错误率/延迟阈值)
387
+
388
+ ### 5. 生产执行规范
389
+ - 选择低峰期执行
390
+ - 先在staging环境验证
391
+ - 通知相关团队
392
+ - 实时监控数据库性能指标
393
+ - 保持回滚能力至少24小时
394
+
395
+ ## 常见陷阱
396
+
397
+ ### 陷阱1: PostgreSQL添加列加默认值锁表
398
+ ```sql
399
+ -- PostgreSQL 10以下: 会锁表
400
+ ALTER TABLE users ADD COLUMN status VARCHAR(20) DEFAULT 'active';
401
+
402
+ -- 正确(PG 11+不锁表,但旧版本需要分步):
403
+ ALTER TABLE users ADD COLUMN status VARCHAR(20);
404
+ -- 然后分批更新
405
+ UPDATE users SET status = 'active' WHERE id BETWEEN 1 AND 10000;
406
+ ```
407
+
408
+ ### 陷阱2: 忘记NOT NULL约束迁移
409
+ ```python
410
+ # 错误: 直接添加NOT NULL列(如果表有数据会失败)
411
+ op.add_column('users', sa.Column('role', sa.String(50), nullable=False))
412
+
413
+ # 正确: 分步添加
414
+ # 步骤1: 添加可空列
415
+ op.add_column('users', sa.Column('role', sa.String(50), nullable=True))
416
+ # 步骤2: 回填数据
417
+ op.execute("UPDATE users SET role = 'user' WHERE role IS NULL")
418
+ # 步骤3: 添加NOT NULL约束
419
+ op.alter_column('users', 'role', nullable=False)
420
+ ```
421
+
422
+ ### 陷阱3: 大表一次性UPDATE
423
+ ```sql
424
+ -- 错误: 一次更新千万行,锁表+日志暴涨
425
+ UPDATE orders SET status = 'migrated';
426
+
427
+ -- 正确: 分批更新
428
+ DO $$
429
+ DECLARE
430
+ batch_size INT := 10000;
431
+ affected INT;
432
+ BEGIN
433
+ LOOP
434
+ UPDATE orders SET status = 'migrated'
435
+ WHERE id IN (
436
+ SELECT id FROM orders
437
+ WHERE status IS NULL
438
+ LIMIT batch_size
439
+ FOR UPDATE SKIP LOCKED
440
+ );
441
+ GET DIAGNOSTICS affected = ROW_COUNT;
442
+ EXIT WHEN affected = 0;
443
+ PERFORM pg_sleep(0.1);
444
+ END LOOP;
445
+ END $$;
446
+ ```
447
+
448
+ ### 陷阱4: 迁移脚本不可重复执行
449
+ ```python
450
+ # 错误: 重复运行会报错
451
+ def upgrade():
452
+ op.create_table('users', ...) # 表已存在会失败
453
+
454
+ # 正确: 检查是否已存在
455
+ def upgrade():
456
+ if not op.get_bind().dialect.has_table(op.get_bind(), 'users'):
457
+ op.create_table('users', ...)
458
+ ```
459
+
460
+ ## Agent Checklist
461
+
462
+ ### 迁移准备
463
+ - [ ] 变更类型和风险等级已评估
464
+ - [ ] 零停机方案已设计(如需要)
465
+ - [ ] 回滚脚本已准备并测试
466
+ - [ ] 备份策略已确认
467
+
468
+ ### 执行规范
469
+ - [ ] 迁移已在staging环境验证
470
+ - [ ] 选择了低峰期执行窗口
471
+ - [ ] 相关团队已通知
472
+ - [ ] 监控面板已就绪
473
+
474
+ ### 数据验证
475
+ - [ ] 迁移前后数据行数一致
476
+ - [ ] 抽样数据验证正确
477
+ - [ ] 聚合值校验通过
478
+ - [ ] 完整性约束检查通过
479
+
480
+ ### 后续清理
481
+ - [ ] 旧Schema/旧表已计划清理
482
+ - [ ] 双写代码有计划移除
483
+ - [ ] 迁移文档已更新
484
+ - [ ] 回滚窗口结束后确认稳定