{"id":79,"date":"2023-02-18T21:07:19","date_gmt":"2023-02-18T21:07:19","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/?p=79"},"modified":"2023-02-18T21:08:25","modified_gmt":"2023-02-18T21:08:25","slug":"nina-duans-status-report-for-2-18-2023","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/2023\/02\/18\/nina-duans-status-report-for-2-18-2023\/","title":{"rendered":"Nina Duan\u2019s Status Report For 2\/18\/2023"},"content":{"rendered":"<h6><b>Principles of Engineering, Science, and Mathematics &#8211; Relevant Courses<\/b><\/h6>\n<p><span style=\"font-weight: 400\">Many courses touched on the importance of ethical considerations in engineering. For example, both 18-100 and 18-500 had slides dedicated to the societal\/economic\/environmental impact of engineering.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Modularity is also emphasized in many ECE and CS courses. Project-heavy courses such as 18-341, 18-349, 15-445, 17-214 especially focused on this, since modularity makes a large project more testable and maintainable.<\/span><\/p>\n<h6><b>Personal Accomplishment<\/b><\/h6>\n<p><span style=\"font-weight: 400\">For the first half of the week, I focused on researching microcontrollers and databases.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In the end, my teammates and I decided to use a Raspberry Pi for speech recognition because it can interface with sensors and microphones and has CPU and memory powerful enough to drive a speech recognition algorithm. I also found some sample projects that use a Raspberry Pi for signal processing:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/makersportal.com\/blog\/audio-processing-with-the-quadmic-4-microphone-array-on-the-raspberry-pi\"><span style=\"font-weight: 400\">Audio Processing with The QuadMic 4-Microphone Array on the Raspberry Pi<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/realpython.com\/python-raspberry-pi\/\"><span style=\"font-weight: 400\">Running Python Program on Raspberry Pi<\/span><\/a><span style=\"font-weight: 400\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">I focused my database research on comparing Amazon DynamoDB and Redis:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><\/td>\n<td><b>DynamoDB<\/b><\/td>\n<td><b>Redis (Remote Dictionary Server)<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">General<\/span><\/td>\n<td><span style=\"font-weight: 400\">Commercial system (pay)<\/span><\/td>\n<td><span style=\"font-weight: 400\">Open-source, can be used for commercial purposes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Storage Model<\/span><\/td>\n<td><span style=\"font-weight: 400\">Key-value<\/span><\/p>\n<p><span style=\"font-weight: 400\">Document model<\/span><\/td>\n<td><span style=\"font-weight: 400\">Key-value<\/span><\/p>\n<p><span style=\"font-weight: 400\">Secondary database models: document store, graph DBMS, and spatial DBMS<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Partitioning<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sharding<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sharding<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Performance<\/span><\/td>\n<td><span style=\"font-weight: 400\">20+ million requests\/sec<\/span><\/p>\n<p><span style=\"font-weight: 400\">R&amp;W fast regardless of table size<\/span><\/td>\n<td><span style=\"font-weight: 400\">In-memory database (requires large amount of memory to run quickly)<\/span><\/p>\n<p><span style=\"font-weight: 400\">Optimized for complicated data structures<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Durability &amp; Availability<\/span><\/td>\n<td><span style=\"font-weight: 400\">3 separate zones<\/span><\/p>\n<p><span style=\"font-weight: 400\">Data still available even if one zone goes offline<\/span><\/td>\n<td><span style=\"font-weight: 400\">Open-source version not very durable (diskless DB)<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Security<\/span><\/td>\n<td><span style=\"font-weight: 400\">Encryption<\/span><\/td>\n<td><span style=\"font-weight: 400\">No encryption<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Use Cases<\/span><\/td>\n<td><span style=\"font-weight: 400\">Applications that require high-speed data writing and reading<\/span><\/td>\n<td><span style=\"font-weight: 400\">Session cache, chat, messaging, and queues<\/span><\/p>\n<p><span style=\"font-weight: 400\">Geospatial data, live streams, and real-time analytics<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Pricing<\/span><\/td>\n<td><span style=\"font-weight: 400\">On-demand mode: based on number of accesses<\/span><\/td>\n<td><span style=\"font-weight: 400\">Free, open-source<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400\">For now, we are planning on using DynamoDB because our project requires fast insertions and deletions but not complex data structures. The final decision will, of course, also depend on whether we\u2019re able to get AWS credit through this course.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For the second half of the week, I worked on preparing for the design review presentation.<\/span><\/p>\n<h6><b>About Schedule<\/b><\/h6>\n<p><span style=\"font-weight: 400\">I am on track with our schedule. In fact, we were able to get a Raspberry Pi 4 and start playing with it ahead of time.<\/span><\/p>\n<h6><b>Plans for Next Week<\/b><\/h6>\n<p><span style=\"font-weight: 400\">I will be presenting our design in class.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In addition, I will discuss the potential of getting AWS credits with the instructors and start familiarizing myself with DynamoDB\u2019s APIs.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Once we review design review feedback, my teammate and I will also place orders for the hardware components.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Principles of Engineering, Science, and Mathematics &#8211; Relevant Courses Many courses touched on the importance of ethical considerations in engineering. For example, both 18-100 and 18-500 had slides dedicated to the societal\/economic\/environmental impact of engineering. Modularity is also emphasized in many ECE and CS courses. Project-heavy courses such as 18-341, 18-349, 15-445, 17-214 especially focused &hellip; <a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/2023\/02\/18\/nina-duans-status-report-for-2-18-2023\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Nina Duan\u2019s Status Report For 2\/18\/2023&#8221;<\/span><\/a><\/p>\n","protected":false},"author":687,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/posts\/79"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/users\/687"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/comments?post=79"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/posts\/79\/revisions"}],"predecessor-version":[{"id":80,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/posts\/79\/revisions\/80"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/media?parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/categories?post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s23-teamd3\/wp-json\/wp\/v2\/tags?post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}