ปกติเซิร์ฟจะแบกภาระในการค้นหา record จะใช้เวลาเท่าไหร่ ก็อยู่ที่ขนาดและการออกแบบดาต้าเบส แล้วส่งข้อมูลที่มีขนาดตามจำนวน record ที่เรียก
แต่ผมไม่มีเซิร์ฟ sql เลยใช้ ms access เรียกผ่าน data object ของ excel vba ดูประปวัติการใช้ดาต้า มีขนาดเข้าออกของข้อมูลต่อเดือน จำนวน 70-100gb ในส่วนของ file sharing
จำนวนข้อมูลต่อวันก็ประมาณ 6-10000 record 70-100gb ผมว่ามันเยอะมาก ผมแยกข้อมูลวันละ 1 ไฟล์ 1 table ไม่อยากเอารวมกัน เพราะมันจะมีแก๊บและขนาดใหญ่มากและใช้เวลาค้นหานาน 1 ไฟล์ขนาดแค่ 300kb-1mb คูณ 30 แบบไม่หักวันหยุด ประมาณการว่าเรียกซ้ำสัก 10 ครั้ง ก็น่าจะแค่ 300 mb ต่อวัน
ผมมาคำนวณดูคิดว่ามันเรียกข้อมูลต่อครั้ง จากบนไปล่าง ถ้าเจอ record ครบตามจำนวนตรงไหนของไฟล์แล้วมันก็จะหยุด โหลด package อย่างไฟล์ 1 mb เจอข้อมูลครบตรงกลางตาราง มันก็จะใช้ข้อมูลขาโหลด 500kb อันนี้ผมเดา
ข้อเสียอีกอย่างคือการยืนยันผู้ใช้ เช่นการใช้ user name/password ก็ไม่รู้จะเก็บไว้ตรงไหนให้ปลอดภัย ถึงมันจะสามารถยืนยันด้วย user name บนโดเมนได้ แต่ไฟล์ก็ต้องเปิด permission ให้อ่านเขียนทับลบได้อยู่ดี มันไม่มีความปลอดภัยตั้งแต่แรกอยู่แล้ว จะควบคุมข้อมูลด้วยการมาเช็ค log ดูมันก็แปลกๆ ผมเลยเปิดให้ทุกคนใน user group แก้ได้ไปเลย คงไม่มีใครมาแก้มาลบ ด้วยข้อจำกัดนี้ ผมไม่รู้ว่าจะเอา ms access ไปใช้ในระบบที่ต้องควบคุมข้อมูลเป็นพิเศษได้มั้ย
มีข้อดีกว่าการใช้ตาราง excel ก็แค่คือมันสามารถ access ข้อมูลพร้อมกันได้ แต่จำกัดที่ถ้ามีคนเปิด record ค้างไว้ อีกจะเขียนทับไม่ได้ต้องรอให้อีกคนปิด ทำให้เปิดมาก็ต้องปิดเลย พอจะใช้ก็เรียกมาใหม่ แต่การเปิดๆ ปิด ทำให้มีความหน่วงเล็กน้อย และใช้ดาต้าเยอะ
สามารถแก้ปัญหา จำนวนดาต้าแอละความหน่วง (หน่วงน้อยนะ แต่เกินมาตรฐานความพอใจของผมไปหน่อย ) ด้วยการเปิด table ค้างไว้ในตัวแปร แต่เหมือนมันเปิดได้ทีละคนเลย พออีกคนจะเปิดมันจะ promp มาว่า already opened exclusively by another user ... ผมไปดูโค้ดคนอื่น เขาก็เปิดๆปิด dataset เหมือนกัน ผมก็จำใจปิด record หลังใช้
ผมไม่ได้เป็น admin เวลาจะเปิด permission ไฟล์/โฟลเดอร์ จะต้องโทรไปขอไอที แต่ด้วยการเปลี่ยนมาใช้ office 365 ทำให้ผมมีพื้นที่ไฟล์ใช้ส่วนตัว ที่สามารถจัดการ permission ของ user อื่นในโดเมนได้โดยไม่ต้องเป็นแอดมิน นั่นก็คือ share point มีลิ้งเปิดไฟล์เป็นชื่อ domain บริษัทแบบเท่ๆ ตามด้วยชื่อ app, ชื่อตัวเอง, หรือ group ที่สร้าง ตามด้วย sub directory สามารถใช้แทนที่ file server และ ftp ได้เลย เปิดลิงค์ใน file explorer ก็ได้ เหมือนมี could storage ส่วนตัว สะดวกกว่า onedrive ตรงที่มัน access โดยตรงไม่ต้องซิงค์ข้อมูล แต่ไม่ใช่ onedrive มันไม่ดีนะ onedrive มันมีหน้าที่ต่างกัน แต่ไอ้ไฟล์ใน onedrive มันก็สามารถเปิดด้วย share point เหมือนกัน แต่ใช้ไปใช้มา ก็เปิด share point ใน file explorer ไม่ได้ ไม่รู้ว่าไอทีบล็อคหรือ เป็นแพชท์อัพเดทของวินโดว์ แต่สามารถใช้บนออฟฟิตได้ปกติ แต่มันเอามาใช้ร่วมกับโปรแกรมอื่นไม่ได้นี่สิ T^T ผมเลยต้องกับมาใช้ file server ตามเดิม
ความจริง 365 มันมี package พิเศษ ที่ติดมากับ sql และอื่นๆ ของ ms , 365 ยังมีโปรแกรมติดมาให้เขียนแอพได้อีกหลายตัว แต่ผมทดลองแล้วมันไม่เวิร์ค ดีไซน์มันไม่ยืดหยุ่น อยากได้ sql มากกว่า แต่จะไปขอไปไอที ก็ไม่รู้จะอ้างสิทธิ์ยังไง จะบอกหัวหน้าก็ไม่รู้เขาจะเข้าใจความจำเป็นมั้ย ปกติเขาก็ไม่ได้มาใส่ใจดีเทลอะไร แค่สั่งและรอผลงาน
แต่ด้วยความที่ทดลองใช้ ฟีเจอร์ของ 365 ผมก็มีความหวังอีกแล้ว 365 list ความหวังใหม่ที่ส่องแสงเข้ามาในชีวิตผม เป็น data table ที่สามารถเรียกใช้ได้หลายแอพบน office แทบยังสามารถเปิดเป็นดาต้าเบสด้วย data object ในภาษาโปรแกรมอื่นๆ ทำให้เขียนเป็น sql query ได้ แต่ผมทดลองแล้วไม่สามารถเขียนทับตารางได้สักที มันรู้ต้องยืนยันผู้ใช้งานและเปิดเป็น exclusive ยังไง หาดูโค้ดบนเว็บที่เป็น vba (dao, ado) ก็หายากมากกก จะมีก็แต่การเรียกข้อมูลด้วยภาษา xml ด้วยการส่ง request ข้อมูลแบบ html form เป๊ะๆ แต่ด้วยที่มันใหม่สำหรับผม และไม่รู้จะไปศึกษาคำสั่งได้ที่ไหน เพราะต้องเขียน xml แทน sql ไปเลย ผมก็เลยเลิกความพยายาม ความจริงมันสามารถเขียน xml บน vba ได้ด้วย lib ตัวหนึ่ง เพราะผมเคยเขียน xml เพื่อใช้งาน web service พวก google api ต่างๆ เช่น map, แปลภาษา, qr code.... แต่เป็น user ทดลองใช้ แป๊ปๆ token มันก็หมดอายุแล้ว
วันนี้ก็โดนงานคีย์ข้อมูล ให้ summary หลายๆตารางมาสรุปยอด จนตอนนี้ผมยังไม่อยากทำเลย ผมมานั่งคิดว่าถ้า ไม่ใช้ vba macro จะทำงานกันอย่างไรให้สบายที่สุดโดยไม่มี vba และหลีกเลี่ยงมหัตกรรมงานตัดแปะ เพราะ vba ไม่ได้เป็นสกิลมาตราฐานที่บริษัทต้องการให้พนักงานเขียนได้ตั้งแต่แรกอยู่แล้ว แถมมันไม่สามารถทำงานร่วมกันกับคนที่ไม่มีความรู้ได้ error มา ก็งงแตก จะ debugging ยังไง ที่ผมทำก็เพราะอยากให้ตัวเองสบายมากกว่า ถ้าผมลาออกไป มันก็ไม่ได้สานต่อ เคยมีไอทีสนใจจะดึงตัวผมไป ผมว่าจะไปแล้วคิดว่าอาจจะใช้เครื่องมือทำให้มันดูทางการ มีมาตราฐาน แต่ผู้บริหารเขาไม่ได้สนใจ เลยไม่เซ็นรับ จนทุกวันนี้ผมยังมานั่งบ่นกับตัวเอง ว่าทำไปทำไม ต่อให้มันดีแค่ไหนแค่ผมคนๆเดี๋ยว มันเปลี่ยนแปลงอะไรไม่ได้ เลยเริ่มๆ หมดไฟ ทำบ้างไม่ทำบ้าง ทำให้มันเบสิกที่สุด (แต่สุดท้ายมันดัน advance)
ไอ้งาน summary ข้อมูล ที่ได้มานี่แหละมันทำให้ผมอดคิดถึง database ไม่ได้สักที แต่ผมก็บอกกับตัวเองว่าไม่อยากแตะ vba อีกแล้ว แต่การออกแบบข้อมูลมันแย่มากจริงๆ ถ้าผมเป็นคนปกติ คงหนีไม่พ้นที่ต้องมานั่งตัดแปะ และใช้ vlookup ครอบจักรวาล แต่คิดสักพัก ก็ปิ๊งไอเดียว่า excel มันต่อ database ได้นี่หว่า และก็นึกต่อว่า ถ้าไม่ใช้ sql db กับ access ก็ยังสามารใช้ ตารางใน excel ที่มีนี่แหละเปิดมาเป็น conection อยากประสานหรือ combine ข้อมูลตารางไหนก็ merge ตารางมันซะเลยแถมเปิดเข้าไปเขียน query ได้ถ้าอยากได้ข้อมูล custom แค่นี้คนอื่นๆ จะได้ไม่ยืมมือผมทำงานมากเกินไป เพราะจะมาพึ่งผมตลอดไปคงไม่ได้หรอก ที่พูดแบบนี้ไม่ได้หวงความรู้นะ อยากให้ทุกคนลองฝึกบ้าง มันน่าจะเอามาเปิดอบรมสกิลมาก มันยืดหยุ่นกว่า data pivot มาก มันน่าใช้งานมากเลยนะ database บน excel ทำงานเหมือน database ทุกอย่างหรือ หรือจะเอาข้อมูล database บนเซิร์ฟมาทำสรุปก็สะดวก
จำนวน package up/down ต่อขนาดของดาต้าเบส เท่าไหร่ถึงยอมรับได้
แต่ผมไม่มีเซิร์ฟ sql เลยใช้ ms access เรียกผ่าน data object ของ excel vba ดูประปวัติการใช้ดาต้า มีขนาดเข้าออกของข้อมูลต่อเดือน จำนวน 70-100gb ในส่วนของ file sharing
จำนวนข้อมูลต่อวันก็ประมาณ 6-10000 record 70-100gb ผมว่ามันเยอะมาก ผมแยกข้อมูลวันละ 1 ไฟล์ 1 table ไม่อยากเอารวมกัน เพราะมันจะมีแก๊บและขนาดใหญ่มากและใช้เวลาค้นหานาน 1 ไฟล์ขนาดแค่ 300kb-1mb คูณ 30 แบบไม่หักวันหยุด ประมาณการว่าเรียกซ้ำสัก 10 ครั้ง ก็น่าจะแค่ 300 mb ต่อวัน
ผมมาคำนวณดูคิดว่ามันเรียกข้อมูลต่อครั้ง จากบนไปล่าง ถ้าเจอ record ครบตามจำนวนตรงไหนของไฟล์แล้วมันก็จะหยุด โหลด package อย่างไฟล์ 1 mb เจอข้อมูลครบตรงกลางตาราง มันก็จะใช้ข้อมูลขาโหลด 500kb อันนี้ผมเดา
ข้อเสียอีกอย่างคือการยืนยันผู้ใช้ เช่นการใช้ user name/password ก็ไม่รู้จะเก็บไว้ตรงไหนให้ปลอดภัย ถึงมันจะสามารถยืนยันด้วย user name บนโดเมนได้ แต่ไฟล์ก็ต้องเปิด permission ให้อ่านเขียนทับลบได้อยู่ดี มันไม่มีความปลอดภัยตั้งแต่แรกอยู่แล้ว จะควบคุมข้อมูลด้วยการมาเช็ค log ดูมันก็แปลกๆ ผมเลยเปิดให้ทุกคนใน user group แก้ได้ไปเลย คงไม่มีใครมาแก้มาลบ ด้วยข้อจำกัดนี้ ผมไม่รู้ว่าจะเอา ms access ไปใช้ในระบบที่ต้องควบคุมข้อมูลเป็นพิเศษได้มั้ย
มีข้อดีกว่าการใช้ตาราง excel ก็แค่คือมันสามารถ access ข้อมูลพร้อมกันได้ แต่จำกัดที่ถ้ามีคนเปิด record ค้างไว้ อีกจะเขียนทับไม่ได้ต้องรอให้อีกคนปิด ทำให้เปิดมาก็ต้องปิดเลย พอจะใช้ก็เรียกมาใหม่ แต่การเปิดๆ ปิด ทำให้มีความหน่วงเล็กน้อย และใช้ดาต้าเยอะ
สามารถแก้ปัญหา จำนวนดาต้าแอละความหน่วง (หน่วงน้อยนะ แต่เกินมาตรฐานความพอใจของผมไปหน่อย ) ด้วยการเปิด table ค้างไว้ในตัวแปร แต่เหมือนมันเปิดได้ทีละคนเลย พออีกคนจะเปิดมันจะ promp มาว่า already opened exclusively by another user ... ผมไปดูโค้ดคนอื่น เขาก็เปิดๆปิด dataset เหมือนกัน ผมก็จำใจปิด record หลังใช้
ผมไม่ได้เป็น admin เวลาจะเปิด permission ไฟล์/โฟลเดอร์ จะต้องโทรไปขอไอที แต่ด้วยการเปลี่ยนมาใช้ office 365 ทำให้ผมมีพื้นที่ไฟล์ใช้ส่วนตัว ที่สามารถจัดการ permission ของ user อื่นในโดเมนได้โดยไม่ต้องเป็นแอดมิน นั่นก็คือ share point มีลิ้งเปิดไฟล์เป็นชื่อ domain บริษัทแบบเท่ๆ ตามด้วยชื่อ app, ชื่อตัวเอง, หรือ group ที่สร้าง ตามด้วย sub directory สามารถใช้แทนที่ file server และ ftp ได้เลย เปิดลิงค์ใน file explorer ก็ได้ เหมือนมี could storage ส่วนตัว สะดวกกว่า onedrive ตรงที่มัน access โดยตรงไม่ต้องซิงค์ข้อมูล แต่ไม่ใช่ onedrive มันไม่ดีนะ onedrive มันมีหน้าที่ต่างกัน แต่ไอ้ไฟล์ใน onedrive มันก็สามารถเปิดด้วย share point เหมือนกัน แต่ใช้ไปใช้มา ก็เปิด share point ใน file explorer ไม่ได้ ไม่รู้ว่าไอทีบล็อคหรือ เป็นแพชท์อัพเดทของวินโดว์ แต่สามารถใช้บนออฟฟิตได้ปกติ แต่มันเอามาใช้ร่วมกับโปรแกรมอื่นไม่ได้นี่สิ T^T ผมเลยต้องกับมาใช้ file server ตามเดิม
ความจริง 365 มันมี package พิเศษ ที่ติดมากับ sql และอื่นๆ ของ ms , 365 ยังมีโปรแกรมติดมาให้เขียนแอพได้อีกหลายตัว แต่ผมทดลองแล้วมันไม่เวิร์ค ดีไซน์มันไม่ยืดหยุ่น อยากได้ sql มากกว่า แต่จะไปขอไปไอที ก็ไม่รู้จะอ้างสิทธิ์ยังไง จะบอกหัวหน้าก็ไม่รู้เขาจะเข้าใจความจำเป็นมั้ย ปกติเขาก็ไม่ได้มาใส่ใจดีเทลอะไร แค่สั่งและรอผลงาน
แต่ด้วยความที่ทดลองใช้ ฟีเจอร์ของ 365 ผมก็มีความหวังอีกแล้ว 365 list ความหวังใหม่ที่ส่องแสงเข้ามาในชีวิตผม เป็น data table ที่สามารถเรียกใช้ได้หลายแอพบน office แทบยังสามารถเปิดเป็นดาต้าเบสด้วย data object ในภาษาโปรแกรมอื่นๆ ทำให้เขียนเป็น sql query ได้ แต่ผมทดลองแล้วไม่สามารถเขียนทับตารางได้สักที มันรู้ต้องยืนยันผู้ใช้งานและเปิดเป็น exclusive ยังไง หาดูโค้ดบนเว็บที่เป็น vba (dao, ado) ก็หายากมากกก จะมีก็แต่การเรียกข้อมูลด้วยภาษา xml ด้วยการส่ง request ข้อมูลแบบ html form เป๊ะๆ แต่ด้วยที่มันใหม่สำหรับผม และไม่รู้จะไปศึกษาคำสั่งได้ที่ไหน เพราะต้องเขียน xml แทน sql ไปเลย ผมก็เลยเลิกความพยายาม ความจริงมันสามารถเขียน xml บน vba ได้ด้วย lib ตัวหนึ่ง เพราะผมเคยเขียน xml เพื่อใช้งาน web service พวก google api ต่างๆ เช่น map, แปลภาษา, qr code.... แต่เป็น user ทดลองใช้ แป๊ปๆ token มันก็หมดอายุแล้ว
วันนี้ก็โดนงานคีย์ข้อมูล ให้ summary หลายๆตารางมาสรุปยอด จนตอนนี้ผมยังไม่อยากทำเลย ผมมานั่งคิดว่าถ้า ไม่ใช้ vba macro จะทำงานกันอย่างไรให้สบายที่สุดโดยไม่มี vba และหลีกเลี่ยงมหัตกรรมงานตัดแปะ เพราะ vba ไม่ได้เป็นสกิลมาตราฐานที่บริษัทต้องการให้พนักงานเขียนได้ตั้งแต่แรกอยู่แล้ว แถมมันไม่สามารถทำงานร่วมกันกับคนที่ไม่มีความรู้ได้ error มา ก็งงแตก จะ debugging ยังไง ที่ผมทำก็เพราะอยากให้ตัวเองสบายมากกว่า ถ้าผมลาออกไป มันก็ไม่ได้สานต่อ เคยมีไอทีสนใจจะดึงตัวผมไป ผมว่าจะไปแล้วคิดว่าอาจจะใช้เครื่องมือทำให้มันดูทางการ มีมาตราฐาน แต่ผู้บริหารเขาไม่ได้สนใจ เลยไม่เซ็นรับ จนทุกวันนี้ผมยังมานั่งบ่นกับตัวเอง ว่าทำไปทำไม ต่อให้มันดีแค่ไหนแค่ผมคนๆเดี๋ยว มันเปลี่ยนแปลงอะไรไม่ได้ เลยเริ่มๆ หมดไฟ ทำบ้างไม่ทำบ้าง ทำให้มันเบสิกที่สุด (แต่สุดท้ายมันดัน advance)
ไอ้งาน summary ข้อมูล ที่ได้มานี่แหละมันทำให้ผมอดคิดถึง database ไม่ได้สักที แต่ผมก็บอกกับตัวเองว่าไม่อยากแตะ vba อีกแล้ว แต่การออกแบบข้อมูลมันแย่มากจริงๆ ถ้าผมเป็นคนปกติ คงหนีไม่พ้นที่ต้องมานั่งตัดแปะ และใช้ vlookup ครอบจักรวาล แต่คิดสักพัก ก็ปิ๊งไอเดียว่า excel มันต่อ database ได้นี่หว่า และก็นึกต่อว่า ถ้าไม่ใช้ sql db กับ access ก็ยังสามารใช้ ตารางใน excel ที่มีนี่แหละเปิดมาเป็น conection อยากประสานหรือ combine ข้อมูลตารางไหนก็ merge ตารางมันซะเลยแถมเปิดเข้าไปเขียน query ได้ถ้าอยากได้ข้อมูล custom แค่นี้คนอื่นๆ จะได้ไม่ยืมมือผมทำงานมากเกินไป เพราะจะมาพึ่งผมตลอดไปคงไม่ได้หรอก ที่พูดแบบนี้ไม่ได้หวงความรู้นะ อยากให้ทุกคนลองฝึกบ้าง มันน่าจะเอามาเปิดอบรมสกิลมาก มันยืดหยุ่นกว่า data pivot มาก มันน่าใช้งานมากเลยนะ database บน excel ทำงานเหมือน database ทุกอย่างหรือ หรือจะเอาข้อมูล database บนเซิร์ฟมาทำสรุปก็สะดวก