เลือกอุปกรณ์เพื่อพัฒนาบริษัท

การบริหารคนหรือว่าจะเป็นบริษัท มีความคล้ายคลึงกันและแตกต่างกัน นั่นก็คือจะต้องมีการพัฒนาตัวเองอยู่เสมอให้เท่าทันต่อเทคโนโลยีต่างๆที่มีการเปลี่ยนแปลง เพื่อนำมาพัฒนาองค์กรหรือนำองค์ความรู้เหล่านี้มาพัฒนาบุคลากรภายในองค์กร

แต่สิ่งที่ต่างกันก็คือการพัฒนาคนสามารถพัฒนาวางแผนได้เป็นระบบและเป็นขั้นเป็นตอน แต่การพัฒนาบริษัทอาจจะมีการวางแผนเป็นขั้นเป็นตอนจำเป็นจะต้องมีการศึกษาวิจัยและวิเคราะห์ต่างๆว่าจะวางทิศทางของบริษัทไปในทิศทางไหนเพราะว่าในปัจจุบันมีการปรับเปลี่ยนความต้องการของผู้บริโภคเป็นจำนวนมาก จึงเป็นสาเหตุให้บริษัทที่จะต้องมีการพัฒนาศักยภาพในการทำงานต่างๆหรือแม้แต่จะเป็นของต่างๆ

ภายในบริษัทจึงจำเป็นอย่างยิ่งที่จะต้องศึกษาให้เข้าใจว่าในอุปกรณ์ที่จะมาใช้พัฒนาไม่ว่าจะเป็นระบบ AI ปัญญาประดิษฐ์ หรือเซิร์ฟเวอร์ฐานข้อมูลต่างๆ นำมาใช้ในบริษัทแล้วจะเกิดผลยังไงข้อดีข้อเสียแตกต่างกันอย่างไรราคาเท่าไหร่ จึงเป็นเรื่องที่ละเอียดอ่อนอย่างยิ่งว่าการสร้างบริษัทที่มีคุณภาพให้เท่าทันต่อเทคโนโลยีในปัจจุบันเป็นเรื่องที่ค่อนข้างยาว

แต่อย่างไรก็ตามในระบบต่างๆสามารถวิเคราะห์และแยกส่วนของตัวเองได้ง่ายตามความเหมาะสมและเลือกอุปกรณ์ต่างๆมาใช้ในองค์กรตัวเอง สามารถเลือกได้ 3 หัวข้อใหญ่นะก็คือ 

เมนเฟรมหรือคอมพิวเตอร์ขนาดใหญ่ ใช้สำหรับการเก็บข้อมูลหรือการวิเคราะห์ข้อมูลขนาดใหญ่หากบริษัทคุณมีบริษัทที่มีมูลค่าค่อนข้างสูงและมีข้อมูลจำนวนมากในการคิดวิเคราะห์และวิจัยอยู่เสมอ เมนเฟรมถือว่าตอบโจทย์อย่างยิ่งในการที่จะนำข้อมูลปริมาณมากเหล่านั้นมาวิเคราะห์หาข้อสรุป หรือแม้แต่จะเป็นในส่วนของระบบคลาวด์คอมพิวติ้งที่รับฝากข้อมูลต่างๆ ซึ่งเป็นส่วนย่อยๆที่จะทำให้บริษัทสามารถเก็บข้อมูลเพื่อนำมาวิเคราะห์หรือวิจัยในอนาคต 

อันดับต่อมาหาบริษัทคุณมีขนาดกลางไม่ว่าจะเป็นองค์กรที่พึ่งก่อตั้งมาไม่นานแต่ว่าสามารถผลิตสินค้าได้เป็นจำนวนมาก มีพนักงานเรา 300 ถึง 500 คนและทำหน้าที่แตกต่างกัน ในส่วนนี้แนะนำให้ใช้มินิคอมพิวเตอร์ในส่วนนี้จะเป็นสมรรถนะรองลงมาจาก mainframe แต่จะมี Server ในการเก็บข้อมูลพอสมควร ที่จะนำข้อมูลเหล่านั้นมาวิเคราะห์ได้ในอนาคตส่วนใหญ่จะใช้ในบริษัทหรือองค์กรที่มีขนาดกลางไม่ว่าจะเป็นบริษัทต่างๆที่มีเพียงสาขาเดียวแต่มีคนค่อนข้างเยอะ หรือจะเป็นองค์กรอิสระ รวมทั้งภาครัฐอย่างโรงพยาบาล ก็มีให้เห็นอยู่ที่เลือกใช้และเลือกนำมา

ส่วนถ้าคุณเป็นบริษัทขนาดเล็กมีผู้คนราวตั้งแต่ 2 คนขึ้นไป จนไปถึง 50 คน ก็สามารถใช้ไมโครคอมพิวเตอร์ได้เพราะปัจจุบันมีการพัฒนาระบบ Cloud ที่ฝากข้อมูลในระบบออนไลน์ เพียงคุณมีแค่คอมพิวเตอร์แล้วก็อินเตอร์เน็ตก็สามารถฟังข้อมูลเหล่านี้ไปได้แล้ว จึงไม่จำเป็นต้องตั้ง Server ของตัวเองให้เสียค่าใช้จ่าย 

เรานี่เองคือการพัฒนาและใช้เทคโนโลยีเหล่านี้เพื่อพัฒนาองค์กรของตัวเองให้มีประสิทธิภาพมากยิ่งขึ้น จึงจำเป็นต้องมีการศึกษาและดูวิธีการใช้สิ่งต่างๆเพื่อให้การพัฒนาองค์กรของตัวเองเป็นไปในทิศทางที่เหมาะสม

NoSQL database –Apache Cassandra

Apache Cassandra เป็นฐานข้อมูลแบบ open source ที่เปิดให้ดาวน์โหลดฟรีใช้กับฐานข้อมูลที่เป็นแบบ NoSQL หรือข้อมูลที่มีคอลัมน์แบบไม่เฉพาะเจาะจง Cassandra ตอนแรกถูกพัฒนากับเว็บ facebook โดยดูในส่วนของ เมนู inbox เป็นหลัก ซึ่งจริงๆ แล้วมันถูกเปิดให้ใช้งานอย่างเป็นทางการตั้งแต่ปี 2008

Cassandra ถูกนำมาใช้กับงาน big data เพื่อรับ workload ของข้อมูลแบบกระจัดกระจาย, การอ่าน, การเขียน ระหว่างโหนดหลายๆโหนด โดยที่ไม่เกิดข้อผิดพลาดเลย

Cassandra เป็นระบบแบบ peer-to-peer ซึ่งใช้การทำงานโดยเรียกคลัสเตอร์ในแต่ละโหนด ซึ่งโหนดนั้นต้องสามารถรองรับการอ่านหรือเขียนได้ เช่นเดียวกับ ฐานข้อมูลของ Amazon’s Dynamo DB ที่ทุกโหนดในคลัสเตอร์จะติดต่อสื่อสารระหว่างกัน โดยใช้โปรโตตอลการสื่อสารแบบ peer-to-peer

หลักการทำงานที่แท้จริงของมันคือ Cassandra จะใช้เครื่องมือที่เรียกว่า Log Structured Merge (LSM) และประกอบด้วยองค์ประกอบหลักหลายอย่างด้วยกันดังนี้

Commit log 

แต่และโหนดใน cluster จะมี commit log ที่แบบเรียงต่อกันเพื่อไรท์ข้อมูลลงใน disk และให้เกิดความสมบูรณ์ของ data ในส่วนของการไรท์อินเด็กซ์และข้อมูลลงไปในหน่วยความจำภายใน เราเรียกว่า memtable.

Memtable

เป็นเหมือนแคชที่สามารถไรท์ข้อมูลลงไป โดยใช่ i/o เชื่อมต่อโดยตรงกับแคช มันมีข้อดีคือ ลด latency ให้ต่ำลง และเกิด high throughput  โครงสร้างของ memTable จะเก็บไว้ใน memory ของ java (Java heap memory) 

อย่างไรก็ตาม Cassandra 2.1 เพิ่มออพชันการเก็บ memtable ให้อยู่นอก java heap memory เพื่อลดการเก็บข้อมูลที่เป็นข้อมูลขยะได้ด้วย

SSTables

เมื่อ commit log เต็ม มันจะเกิดการเปลี่ยนที่เก็บ memTable ให้ไปเก็บในรูปแบบของ SSTables data file และกระบวนการของ memTable จะถูกเคลียร์ออกไปก่อน และ commit log จะถูกลบออกและนำกลับมาใช้ใหม่ได้ 

Cassandra จะแบ่งพาร์ทิชั่นโดยอัตโนมัติเพื่อไรท์ข้อมูลและ replicates มันผ่าน cluster

Compaction 

Cassandra เกิดการรวม SStables โดยใช้กระบวนการที่เรียกว่า compaction ที่ความถี่ของการรวม compactions จะถูกเก็บไว้ในไฟล์ yaml หรือผ่านคำสั่งของ Cassandra เองที่เรียกว่า Cassandra Query Language (CQL) ในกระบวนการรวมกัน Cassandra จะรวมคีย์, คอลัมน์merges keys, combines columns, evicts tombstones data จริงๆจะถูกมาร์กว่าเป็นของเก่า, และมีการรวม SSTables และสร้าง index ใหม่ 

YugaByte DB มีความคล้ายคลึงกับ LSM storage engine ที่ออกแบบใน Cassandra แต่ว่ามันมีข้อดีตรงที่มีประสิทธิภาพและความทนทาน

ภาษาโปรแกรมอะไรที่สามารถเขียนในฐานข้อมูล Cassandra ได้ 

เมื่อเรากล่าวถึง casssandra ที่มันถูกเขียนด้วย java ภาษาที่ใช้เขียนมันก็คือ Long garbage collection (GC) หรือที่มันนำมาใช้ในสภาพแวดล้อมของ production ซึ่งข้อดีของ garbage collector นี้เพื่อลด latency และเพิ่ม throughput ได้ด้วย

CQL หรือชื่อเต็มคือ Cassandra Query Language (CQL) ใช้เพื่อเขียน insert, update, delete, select ข้อมูลจาก Cassandra นั่นเอง

คอมพิวเตอร์-อะไรคือ Apache Kafka

มันคือโปรแกรมที่ใช้ในการจัดการคิว ล่าสุดจาก apache

การสร้าง platform นี้ขึ้นมาเพื่อวัตถุประสงค์ 3 อย่างเลยคือ

  1. เผยแพร่และเพื่อให้การทำงานกับเรคคอร์ด, หรือระบบการจัดการต่างๆ ให้มีความเป็นไปอย่างมีลำดับ

2.การเก็บข้อมูลของ streams เพื่อป้องกันการเกิดข้อผิดพลาด

3.โปรเซสการทำงานในแต่ละ process จะเกิดขึ้นเวลาใดก็ได้

Kafka เป็น application เพื่อการทำงานหลัก ๆอยู่สองอย่างคือ

1.เพื่อสร้าง data pipeline ที่เป็นแบบ เรียลไทม์เพื่อรับข้อมูลระหว่างแอพลิเคชันและระบบ

  1. เพื่อสร้างแอพลิเคชัน streaming แบบ real-time เพื่อการแปลงข้อมูลให้อยู่ในรูปแบบของ data streams

เพื่อให้เข้าใจหลักการทำงานของมัน เราจะไปดูด้านล่างดังนี้

Concept คือ kafka รันบนคลัสเตอร์ที่อยู่บน server เพียงตัวเดียวหรือมากกว่าหนึ่งตัว และสามารถกระจายอยู่ในหลาย data center 

Kafka cluster เก็บ streams ของเรคอร์ดให้เป็นหมวดหมู่ ซึ่งเราจะเรียกว่า topics, แต่ละ record จะมี key, value, timestamp

Kafka มี api อยู่สี่ตัวหลัก ๆคือ 

  1. Producer API อนุญาตให้ แอพลิเคชันเผยแพร่ stream ของ เรคอร์ดไปสู่ kafka topics อันเดียวหรือหลายอันได้ 
  2. Consumer API อนุญาตให้ แอพลิเคชันติดตามมากว่า 1 topics ได้ และการทำงานของมันสามารถสร้าง stream ของเรคอร์ดเพิ่มขึ้นมาใหม่ได้ 
  3. Streams API จะทำงานกับแอพลิเคชันคล้ายๆ กับ stream cluster ที่มันจะสร้าง output จำนวนหนึ่งหรือมากกว่าหนึ่ง topics โดยเป็นการเปลี่ยนรูปจาก input streams ไปยัง output streams
  4. Connector API เปิดให้มีการ build หรือการรัน producers และ consumer ใหม่ได้ แต่ว่า แอพลิเคชันนั้นต้องมีอยู่จริงหรือว่าเป็นระบบข้อมูลโดยเฉพาะ ตัวอย่างเช่น connector ที่เชื่อมต่อไปยัง relational database จะต้องจับการเปลี่ยนแปลงทุกอย่างที่เกี่ยวกับ table 

Kafka เป็น message queue ที่เชื่อมต่อระหว่างเครื่อง client และเครื่อง server เพื่อให้การทำงานมันง่าย, มีประสิทธิภาพสูง, ใช้ภาษาด้านที่เกี่ยวกับ tcp protocol โปรโตคอลเวอร์ชันนี้สามารถเก็บได้และจะรันย้อนหลังก็ได้ ทำให้ดีกว่าเมื่อเทียบกับเวอร์ชันเก่ากว่า ซึ่งเรามีการจัดเครื่อง java client สำหรับ kafka โดยเฉพาะ แต่ว่า client สามารถใช้งานเครื่องคอมพิวเตอร์โดยการเขียนได้หลายภาษา

Topics and Logs เรามาดูเรื่องจอง topics และ logs ที่ใช้ใน kafka

หัวข้อคือเราต้องการจัดข้อมูลจำนวนมหาศาล และการดำเนินงานใน kafka ต้องได้รับการยอมรับ คือ topic จริงๆ แล้วจะเริ่มตั้งแต่ 0 หรือผู้บริโภคหลายรายต้องใช้ topic จำนวนน้อยๆก่อนที่จะเขียน data ลงไปที่มัน

ตัวอย่างเช่น data cluster จะยังคงเก็บ partitioned log เอาไว้

แต่ละ partition จะถูกเรียงลำดับ ซึ่งเรคอร์ดที่มาทีหลังใช้วิธีการต่อด้านท้ายเอา ซึ่งจำนวนของการ insert ข้อมูลเราเรียกว่าการตั้งค่า offset และแต่ละ record จะถูกเก็บอยู่ใน partition

การตลาดออนไลน์

การตลาดออนไลน์คือการทำสื่อออนไลน์โฆษณาสินค้าตามเว็บไซต์ต่างๆเพื่อประชาสัมพันธ์ให้คนที่เข้ามาใช้บริการเห็นสินค้าของเราที่โฆษณาออกไปแต่การทำธุรกิจออนไลน์มีหลายรูปแบบจะส่งไฟล์ผ่านอีเมลก็ทำได้ลูกค้าที่เข้ามาใช้บริการสินค้าสามารถเลือกรับข่าวสารของเราผ่านอีเมลก็ได้เพราะระบบจะแจ้งเตือนคุณทุกครั้งที่มีสินค้าใหม่ๆ

เข้ามาหรือมีการประชาสัมพันธ์สื่ออะไรใหม่ๆลูกค้าก็จะได้รับข่าวสารทันทีเพราะปัจจุบันการดำรงชีวิตประจำวันของคนรุ่นใหม่นี้จะต้องมีสื่อออนไลน์เข้ามามีบทบาทในชีวิตมากขึ้นเพราะว่าอำนวยความสะดวกสบายในการใช้งานและสามารถใช้บริการได้ตามความพึงพอใจของเราจึงทำให้คนยุคใหม่นั้นสนใจทางด้านเทคโนโลยีที่ทันสมัยในปัจจุบันนี้กันอย่างมาก

แถมยังหาเงินหารายได้เข้าตัวเองได้ง่ายๆถ้าหากรู้จักวางแผนการทำงานเพราะการทงานผ่านสื่อผ่านโซเชียลมีคนนิยมทำกันอย่างมากและมีคนประสบผลสำเร็จอย่างมากเช่นกันถ้าหากรู้จุดขายของคนที่ใช้บริการว่าเขาต้องการอะไรกันเราก็สามารถนำมาวางแผนลงทุนสร้างสินค้าสร้างผลิตภัณฑ์ของเราได้ง่ายๆและก็ทำโฆษณาสินค้าของเราให้มีความน่าสนใจดึงดูดสายตาผู้ที่เห็นโฆษณาสินค้าของเราตามสื่อต่างๆก็จะเจาะกลุ่มเป้าหมายได้ถ้าหากมีคนให้ความสนใจต่อผลิตภัณฑ์ของเราก็จะสามารถต่อยอดการทำงานผ่านสื่อได้ง่ายๆ

อาจจะขยายธุรกิจหรือหาสินค้าผลิตภัณฑ์มาทำเพิ่มและสร้างรายได้เพิ่มขึ้นอีก การทำการตลาดออนไลน์ไม่ใช่เรื่องยากอีกต่อไปถ้าหากคุณรู้จักสินค้าผลิตภัณฑ์ของเราดีและกำหนดได้ว่าผู้ใช้บริการกลุ่มไหนเป็นกลุ่มเป้าหมายที่จะมีโอกาสใช้บริการสินค้าเราเท่านี้ทุกคนก็จะเห็นสินค้าของเราแล้วถมยังสามารถสร้างยอดขายในโลกออนไลน์ได้อย่างง่ายๆถ้าหากคุณมีความใส่ใจในการทำตรงนี้การรู้จุดผู้ใช้บริการสินค้าและเราต้องวิเคาะห์ก่อนว่าถ้ากลุ่มนี้มีความสนใจในตัวสินค้าของเราแล้ว

สามารถสร้างรายได้และได้กำรเท่าไหร่การกระทำแบบนี้ก็ถือว่ามีความรอบคอบในการทำธุรกิจออนไลน์เพราะต้องคำนึงถึงเงินลงทุนผลกำไรจากการให้บริการไปแล้วจะมีกำไรในการขายสินค้าหรือไม่เราต้องมีกลยุทธ์ในการทำงานในการวางแผนการสร้างธุรกิจสักอย่างเราต้องคำนึงถึงสิ่งเหล่านี้มากๆมีปัจจัยหลักคือการทำให้สินค้าหรือผลิตภัณฑ์ของเราเป็นที่รู้จักมากยิ่งขึ้น

และในอนาคตอาจจะมีสินค้าของเราเป็นที่นิยมระดับโลกก็ได้ถ้าหากคุณมีวางแผนในการทำงานที่ดีก็จะสามารถเจาะเป้าหมายตลาดโลกได้อย่างง่ายดายเพียงแค่คุณรู้จุดขายของเราว่าสามารถทำให้คนกลุ่มไหนสนใจในสินค้าเราได้นั่นก็ถือว่าเราประสบความสำเร็จการทำการตลาดออนไลน์แล้ว