Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Systems design
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Product Development == If the broader topic of product development "blends the perspective of marketing, design, and manufacturing into a single approach to product development,"<ref>{{Cite book |last1=Ulrich |first1=Karl T. |title=Product Design and Development |last2=Eppinger |first2=Steven D. |author-link2=Steven D. Eppinger |publisher=Irwin McGraw-Hill |year=2000 |edition=Second |location=Boston}}</ref> then design is the act of taking the marketing information and creating the design of the product to be manufactured. Thus in product development, '''systems design''' involves the process of defining and developing systems, such as interfaces and [[data]], for an electronic [[control system]] to satisfy specified [[requirement]]s. Systems design could be seen as the application of [[systems theory]] to [[product development]]. There is some overlap with the disciplines of [[systems analysis]], [[systems architecture]] and [[systems engineering]].<ref>{{FS1037C}}</ref><ref>{{DODDIC}}</ref> ===Physical design === The physical design relates to the actual input and output processes of the system. This is explained in terms of how data is input into a system, how it is verified/authenticated, how it is processed, and how it is displayed. In physical design, the following requirements about the system are decided. # Input requirement, # Output requirements, # Storage requirements, # Processing requirements, # System control and backup or recovery.<ref>{{Cite book |last=Arden |first=Trevor |title=Information technology applications |date=1991 |publisher=Pitman |isbn=978-0-273-03470-4 |location=London}}</ref> Put another way, the physical portion of system design can generally be broken down into three sub-tasks: # User Interface Design # Data Design # Process Design ===Architecture design=== Designing the overall structure of a system focuses on creating a scalable, reliable, and efficient system. For example, services like Google, Twitter, Facebook, Amazon, and Netflix exemplify large-scale distributed systems. Here are key considerations: # [[Functional requirement|Functional]] and [[Non-functional requirement|non-functional]] requirements # Capacity estimation # Usage of [[Relational database|relational]] and/or [[NoSQL]] databases # Vertical scaling, horizontal scaling, [[Shard (database architecture)|sharding]] # [[Load balancing (computing)|Load balancing]] # Primary-secondary [[Replication (computing)|replication]] # Cache and CDN # Stateless and Stateful servers # Datacenter [[Geographic routing|georouting]] # Message Queue, Publish-Subscribe Architecture # Performance Metrics Monitoring and Logging # Build, test, configure deploy automation # Finding single point of failure # [[API]] Rate Limiting # Service Level Agreement ===Machine Learning Systems Design=== Machine learning systems design focuses on building scalable, reliable, and efficient systems that integrate [[machine learning]] (ML) models to solve real-world problems. ML systems require careful consideration of data pipelines, model training, and deployment infrastructure. ML systems are often used in applications such as [[Recommender system|recommendation engines]], [[Artificial intelligence in fraud detection|fraud detection]], and [[natural language processing]]. Key components to consider when designing ML systems include: # Problem Definition: Clearly define the problem, data requirements, and evaluation metrics. Success criteria often involve accuracy, latency, and scalability.<ref>{{Cite book |last=Sorvisto |first=Dayne |title=MLOps Lifecycle Toolkit: A Software Engineering Roadmap for Designing, Deploying, and Scaling Stochastic Systems |publisher=Apress |year=2023 |isbn=978-1-4842-9641-7}}</ref> # Data Pipeline: Build automated pipelines to collect, clean, transform, and validate data.<ref>{{Cite book |last=Polyzotis |first=Neoklis |chapter=Data Management Challenges in Production Machine Learning |date=2017 |pages=1723β1726 |title=Proceedings of the 2017 ACM International Conference on Management of Data |doi=10.1145/3035918.3054782|isbn=978-1-4503-4197-4 }}</ref> # Model Selection and Training: Choose appropriate algorithms (e.g., [[linear regression]], [[decision trees]], [[neural networks]]) and train models using frameworks like [[TensorFlow]] or [[PyTorch]]. # Deployment and Serving: Deploy trained models to production environments using scalable architectures such as containerized services (e.g., [[Docker (software)|Docker]] and [[Kubernetes]]).<ref>{{Cite book |last=Huyen |first=Chip |title=Designing Machine Learning Systems |publisher=O'Reilly Media |year=2022 |isbn=978-1-098-10796-3}}</ref> # Monitoring and Maintenance: Continuously monitor model performance, retrain as necessary, and ensure [[Concept drift|data drift]] is addressed.<ref>{{Cite web |title=Machine Learning at Scale: Challenges and Best Practices |url=https://cloud.google.com/blog/topics/developers-practitioners/machine-learning-scale-challenges-and-best-practices |website=Google Cloud Blog |date=2020}}</ref> Designing an ML system involves balancing trade-offs between accuracy, latency, cost, and maintainability, while ensuring system scalability and reliability. The discipline overlaps with [[MLOps]], a set of practices that unifies machine learning development and operations to ensure smooth deployment and lifecycle management of ML systems.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Systems design
(section)
Add topic